Java 如何在Cygwin shell中的Windows中执行批处理文件
我试图在Windows机器上通过jsp执行一个批处理文件,它运行良好,没有任何问题 但是,DOS没有与sed unix命令等效的命令。因此,我必须安装cygwin,以便在批处理文件中使用以下sed命令Java 如何在Cygwin shell中的Windows中执行批处理文件,java,batch-file,cygwin,Java,Batch File,Cygwin,我试图在Windows机器上通过jsp执行一个批处理文件,它运行良好,没有任何问题 但是,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 请告知 您需要将cygw
sed -i "s/<model.version>2.1.1-SNAPSHOT<\/model.version>/<model.version>2.1.1-b-1<\/model.version>/g" pom.xml
请告知 您需要将cygwin目录添加到您的路径中。(或服务路径)然后可以从DOS提示符或bat脚本运行cygwin命令
或者,您可以为您的c:\cygwin\usr\bin\sed.exe或其他任何文件提供完整路径。是否只是从项目中获取
sed
?您可以将它与本机windows shell一起使用。您可以自动最小化窗口,我想您根本不想看到窗口?无法从cygwin运行批处理脚本。只有sh/bash shell脚本。要运行bash脚本,请运行bash.exe-c而不是cmd.exewell,我将批处理文件运行到Windows上的cygwin shell中,它对我来说运行得非常好。我在windows运行对话框中使用命令bash--login--i进入bash shell,然后使用./build-model.bat执行批处理文件,结果很好。这真的是实现您想要的最好方法吗?看起来开销很大。你不能在java中做你想做的吗?沿着这条路走下去就是痛苦。还有疯狂。但我想主要是疼痛。
File dir = new File("C:\\Projects\\release-builds");
Runtime.getRuntime().exec("cmd.exe /c start build-model.bat", null, dir);