这个问题已经在这里有一个答案:
我试图从Java运行命令行。从Java,代码应该打开一个新的CMD,切换到特定的目录(C:\ EASYTEST \ 4 \ bin),然后运行命令从那里(runTC '测试用例/ test2.tc -c爱-k辛拉面-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();
但它只启动CMD标题为 'CD C:\ EASYTEST \ 4 \ BIN && runTC测试用例/ test2.tc -c爱-k辛拉面-logToConsole \' 和项目相关的目录
我要的是运行“运行测试用例/ test2.tc -c爱-k辛拉面-logToConsole”从CMD特定目录
任何建议?
尝试这个
public static void main(String args[]) {
try {
Runtime.getRuntime().exec("cmd.exe /c start");
} catch (IOException ex) {
ex.printStackTrace();
}
}