如何在Cygwin shell中的Windows中执行批处理文件

时间:2010-12-16 14:42:00

标签: java batch-file cygwin

我试图通过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);  

请指教。

2 个答案:

答案 0 :(得分:2)

您需要将cygwin目录添加到PATH中。 (或您的服务的PATH)然后您可以从DOS提示符或bat脚本运行cygwin命令。

或者您可以为c:\ cygwin \ usr \ bin \ sed.exe或其他任何内容提供完整路径。

答案 1 :(得分:2)

只是从gnuwin项目获得sed选项吗?您可以将它与原生Windows shell一起使用。