在特定的目录打开命令行并执行与不的ProcessBuilder工作命令[复制]

问题描述 投票:0回答:1

这个问题已经在这里有一个答案:

我试图从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特定目录

任何建议?

java command-line cmd command-line-arguments processbuilder
1个回答
-2
投票

尝试这个

public static void main(String args[]) {
    try {
        Runtime.getRuntime().exec("cmd.exe /c start");

    } catch (IOException ex) {
        ex.printStackTrace();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.