我试图通过Windows机器上的jsp执行BATCH文件,它运行正常,没有任何问题。
但是,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 shell以便我的.bat文件在cygwin shell而不是windows命令提示符下运行。
以下是一段运行正常的代码。唯一的问题是它调用命令提示符。我想调用cygwin shell而不是命令提示符。
File dir = new File("C:\\Projects\\release-builds");
Runtime.getRuntime().exec("cmd.exe /c start build-model.bat", null, dir);
请指教。
答案 0 :(得分:2)
您需要将cygwin目录添加到PATH中。 (或您的服务的PATH)然后您可以从DOS提示符或bat脚本运行cygwin命令。
或者您可以为c:\ cygwin \ usr \ bin \ sed.exe或其他任何内容提供完整路径。
答案 1 :(得分:2)
只是从gnuwin项目获得sed
选项吗?您可以将它与原生Windows shell一起使用。