Как мне выполнить командный файл в Windows в оболочке Cygwin - PullRequest
3 голосов
/ 16 декабря 2010

Я пытаюсь выполнить BATCH-файл через jsp на компьютере с Windows, и он работает без проблем.

Однако DOS не имеет эквивалента команды sed unix. Поэтому мне пришлось установить cygwin, чтобы я мог использовать следующую команду sed в моем командном файле.

sed -i "s/<model.version>2.1.1-SNAPSHOT<\/model.version>/<model.version>2.1.1-b-1<\/model.version>/g" pom.xml  

Мой вопрос заключается в том, как я могу вызвать оболочку cygwin, чтобы мой .bat-файл выполнялся в оболочке cygwin, а не в командной строке Windows.

Ниже приведен фрагмент кода, который работает нормально. Единственная проблема заключается в том, что он вызывает командную строку. Я хочу вызвать оболочку cygwin вместо командной строки.

File dir = new File("C:\\Projects\\release-builds");  
Runtime.getRuntime().exec("cmd.exe /c start build-model.bat", null, dir);  

Пожалуйста, сообщите.

Ответы [ 2 ]

2 голосов
/ 17 декабря 2010

Есть ли возможность получить sed из gnuwin проекта?Тогда вы можете использовать его с родной оболочкой Windows.

2 голосов
/ 16 декабря 2010

Вам необходимо добавить каталог cygwin в вашу PATH. (или путь вашей службы), затем вы можете запускать команды cygwin из командной строки DOS или сценария bat.

Или вы можете указать полный путь к вашему c: \ cygwin \ usr \ bin \ sed.exe или к чему-либо еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...