2017-05-24 113 views
-1

我们一直在尝试使用JAVA的一个命令提示符下运行的连续指令。跑步系列在一个命令行命令,在cmd

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
你的情况

我想这个问题是shell命令cd c:\\program files (x86)。它的话programfiles(x86)你要引用串之间的空间。

我建议先直接在命令行中执行你的命令,看看会发生你想要什么:

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

你应该qoute字符串,并尝试使用该

Process process = runtime.exec("cmd.exe /c start cd c:\\program%files%(x86) && cd google && cd chrome && cd application"); 
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\"");