【发布时间】:2015-06-18 13:41:08
【问题描述】:
我正在尝试从 java 运行命令行。从 java 中,代码应该打开一个新的 cmd,更改为特定目录 (C:\EasyTest\4\bin) 并从那里运行命令 (runTC 'testCase/test2.tc -c love -k ShinRamyun -logToConsole')。为此,我尝试了多种方法,但均未奏效。
String[] command = {"CMD", "/C", "start", "runTC","testCase/test2.tc -c love -k ShinRamyun -logToConsole"};
ProcessBuilder probuilder = new ProcessBuilder( command );
probuilder.directory(new File("C:\\EasyTest\\4\\bin"));
Process process = probuilder.start();
它返回打开的 cmd 1 秒并直接退出。我看不到结果,runTC执行的应用程序不受影响。
反之,我跑
ProcessBuilder processBuilder = new ProcessBuilder( "cmd", "/c","start", "cd C:\\EasyTest\\4\\bin && runTC testCase/test2.tc -c love -k ShinRamyun -logToConsole\"" );
processBuilder.start();
但它只启动标题为 'cd C:\EasyTest\4\bin && runTC testCase/test2.tc -c love -k ShinRamyun -logToConsole\' 和项目相关目录的 cmd
我想要的是从 cmd 的特定目录运行 'runTC testCase/test2.tc -c love -k ShinRamyun -logToConsole'
有什么建议吗?
【问题讨论】:
-
我认为应该是
cmd.exe而不仅仅是cmd -
我试过但返回相同的东西
-
首先它是 cmd.exe 正如已经指出的那样。为什么你使用“/c”?这将在执行您的命令后终止 cmd 窗口
-
我把 /c 用来显示 cmd。我也放了 cmd.exe 但给出了相同的结果
标签: java command-line cmd command-line-arguments processbuilder