[英]run batch file in java program
有一个包含jar文件的批处理文件。 我想在netbeans的Java程序中运行批处理文件。 我使用以下代码:
Process p= Runtime.getRuntime().exec("cmd /c start \"C:\\Users\\123\\Desktop\\New folder (6)\\Browser.bat\"");
但是,通过运行此代码,将显示在打开的地址和其下方的cmd窗口,并且批处理文件不会运行。
C:\Users\123\Documents\NetBeansProjects\JavaApplication19
这与批处理文件的地址不同。
批处理文件包含:
java -jar -Xms32m -Xmx512m Browser.jar
使用ProcessBuilder:jar文件运行。
ProcessBuilder pb = new ProcessBuilder("java.exe", "-jar","-Xms32m", "-Xmx512m", "C:\\Users\\123\\Desktop\\New folder (6)\\Browser.jar");
pb.directory(new File("C:\\Windows\\System32"));
Process p = pb.start();
将ProcessBuilder用于批处理文件:程序运行成功,但jar文件未执行。
ProcessBuilder pb = new ProcessBuilder("java.exe", "-jar","-Xms32m", "-Xmx512m", "C:\\Users\\Saeedeh\\Desktop\\New folder (6)\\FarsNetBrowser.jar");
pb.directory(new File("C:\\Windows\\System32"));
Process p = pb.start();
我认为您的命令行还有一个额外的start
。 它应该只使用
cmd /c "C:\Users\123\Desktop\New folder (6)\Browser.bat"
而且我会让Java转义参数,而不是对字符串进行硬编码:
new ProcessBuilder("cmd", "/c", PATH_OF_THE_BAT_FILE);
Process p = Runtime.getRuntime().exec("cmd /c start \"C:/Users/123/Desktop/New folder (6)/Browser.bat\"");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.