我想从Java程序运行批处理文件。
这有效:
runtime.getruntime().exec("cmd /c C:\\test.bat"); //Working
它工作得很好,但是如果我在批处理文件的路径中给出空格,它就不起作用了:
runtime.getruntime().exec("cmd /c C:\\Program Files\\test.bat"); //Not Working
任何人都可以帮助我。
答案 0 :(得分:4)
您需要在命令行中在带有空格的文件名周围加上引号:
runtime.getruntime().exec("cmd /c \"C:\\Program Files\\test.bat\"");
答案 1 :(得分:1)
ProcessBuilder
与1.5+中的Process
进行任何操作。 (如果使用List
based constructor,它可能会解决路径问题。)答案 2 :(得分:0)
您需要使用\
转义空格。在每个空格之前放一个反斜杠\