在一个命令行中运行一系列命令,cmd



我们一直在尝试使用 JAVA 在一个命令提示符下运行连续的命令。

Process process = runtime.exec("cmd.exe /c start cd c:\program files (x86) && cd google && cd chrome && cd application");

我希望它首先会做cd c:\program files (x86),然后cd google然后cd chrome然后cd application

当我运行代码时,它只是打开cmd并执行第一个命令,该命令cd c:\program files (x86)

我知道你可以cd c:\program files (x86)googlechromeapplication做到这一点,但我使用它作为测试,因为我的实际命令行是特定于客户端的,所以我不能将其用作示例。

所以基本上,我需要连续运行一系列命令行。

在您

的情况下,我想问题出在 shell 命令 cd c:\program files (x86) 上。它是单词之间的空格 programfiles(x86) 你应该用字符串引号。

我建议先直接在命令行中执行您的命令,看看是否会发生您想要的情况:

cmd.exe /c start cd "c:\program files (x86)" && cd google && cd chrome && cd application

你应该问出字符串并尝试使用它

Process process = runtime.exec("cmd.exe /c start cd c:\program%files%(x86) && cd google && cd chrome && cd application");

删除start .在所有路径周围放置""。将&&替换为一个转义&,例如每个^&。喜欢:

cmd.exe /C cd /D "C:Program Files (x86)" ^& cd "google" ^& cd "chrome" ^& cd "application"

所以:

Process process = runtime.exec("cmd.exe /C cd /D "C:\Program Files (x86)" ^& cd "google" ^& cd "chrome" ^& cd "application"");

相关内容

最新更新