Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在一个命令行cmd中运行一系列命令_Java_Cmd - Fatal编程技术网

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

Java 在一个命令行cmd中运行一系列命令,java,cmd,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

我们一直在尝试使用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
,但我将此用作测试,因为我的实际命令行是特定于客户端的,所以我不能将其用作示例


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

在您的情况下,我想问题在于shell命令
cd c:\\program files(x86)
。它是
程序
文件
(x86)
之间的空格,您应该引用字符串

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

cmd.exe/c启动cd“c:\\program files(x86)”&&cd谷歌&cd chrome&cd应用程序

您应该使用这些字符串并尝试使用它

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“应用程序”
因此:

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