从Java执行不正确的* .bat

时间:2014-05-16 14:23:52

标签: java batch-file

我的.bat文件包含以下内容:

mkdir testDir

现在我把它放到文件夹C:\ temp 然后我想用java运行它,所以我做了以下:

Runtime.getRuntime().exec("cmd /c start C:\\temp\\test.bat");

我希望该文件夹将在C:\ temp中创建,就像我手动执行此文件一样,但是在我的工作区中创建了错误的文件夹。 我该如何解决?

1 个答案:

答案 0 :(得分:2)

运行cmd时需要指定工作目录。

Runtime.exec()存在重载,允许您指定工作目录。例如:

Runtime.getRuntime().exec("cmd /c start C:\\temp\\test.bat", null,
                          new File("c:\\temp"));

或者,您可以使用ProcessBuilder更明确地控制您正在开始的流程的各个方面。