我们一直在尝试使用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
,但我使用它作为测试因为我的实际命令行是特定于客户端的,所以我不能用它作为例子。
基本上,我需要连续运行一系列命令行。
答案 0 :(得分:0)
在你的情况下,我认为问题在于shell命令cd c:\\program files (x86)
。它应该引用字符串program
,files
和(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\"");