Java 在一个命令行cmd中运行一系列命令
我们一直在尝试使用JAVA在一个命令提示符中运行连续的命令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
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\”);