我的.bat文件包含以下内容:
mkdir testDir
现在我把它放到文件夹C:\ temp 然后我想用java运行它,所以我做了以下:
Runtime.getRuntime().exec("cmd /c start C:\\temp\\test.bat");
我希望该文件夹将在C:\ temp中创建,就像我手动执行此文件一样,但是在我的工作区中创建了错误的文件夹。 我该如何解决?
答案 0 :(得分:2)
运行cmd
时需要指定工作目录。
Runtime.exec()
存在重载,允许您指定工作目录。例如:
Runtime.getRuntime().exec("cmd /c start C:\\temp\\test.bat", null,
new File("c:\\temp"));
或者,您可以使用ProcessBuilder
更明确地控制您正在开始的流程的各个方面。