0

我有一个名为A的文件夹,其中包含一个.bat文件:a.bat。如果我想写一个.bat文件,我可以写:

cd A/
call a.bat

我会看到结果,但是如果我想从中运行它,Java我会遇到问题。

我正在尝试这样做:

String command = "cmd.exe /c start cd A/\ncall a.bat";
try {
    Runtime.getRuntime().exec(command); 
} catch (IOException e) { }

我试图\n;和用\r和用替换,&&但没有奏效。(它不承认存在两条线)。

如何从.batfrom运行多行Java

4

1 回答 1

1

您可以在生成点从 Java 端设置进程的工作目录cmd,而不需要cd命令:

ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "a.bat");
pb.directory(new File("path\\to\\A"));
Process p = pb.start(); 
于 2013-02-28T11:16:13.170 回答