包含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();
答案 0 :(得分:1)
我认为您的命令行中有额外的start
。它应该只使用
cmd /c "C:\Users\123\Desktop\New folder (6)\Browser.bat"
我会让Java转义参数而不是硬编码字符串:
new ProcessBuilder("cmd", "/c", PATH_OF_THE_BAT_FILE);
答案 1 :(得分:0)
Process p = Runtime.getRuntime().exec("cmd /c start \"C:/Users/123/Desktop/New folder (6)/Browser.bat\"");