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

时间:2017-05-24 07:58:56

标签: java 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)\google\chrome\application,但我使用它作为测试因为我的实际命令行是特定于客户端的,所以我不能用它作为例子。

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

3 个答案:

答案 0 :(得分:0)

在你的情况下,我认为问题在于shell命令cd c:\\program files (x86)。它应该引用字符串programfiles(x86)之间的空格。

我建议首先直接在命令行中执行命令,看看是否符合您的要求:

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

答案 1 :(得分:0)

你应该搜索字符串并尝试使用此

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

答案 2 :(得分:0)

删除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\"");