我有一个名为 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
替换为&&
,但这不起作用。 (它不承认存在两条线。)
如何从.bat
的{{1}}运行多行?
答案 0 :(得分:1)
您可以在生成cmd
的位置从Java端设置进程的工作目录,而不是需要cd
命令:
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "a.bat");
pb.directory(new File("path\\to\\A"));
Process p = pb.start();