在特定目录中打开命令行并执行命令,而processbuilder无法正常工作

时间:2015-04-13 09:32:06

标签: java command-line cmd command-line-arguments processbuilder

我正在尝试从java运行命令行。从java开始,代码应该打开一个新的cmd,更改为特定的dir(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&&的cmd runTC testCase / test2.tc -c love -k ShinRamyun -logToConsole \'和项目相关的目录

我想要的是从cmd的特定目录运行'runTC testCase / test2.tc -c love -k ShinRamyun -logToConsole'

有什么建议吗?

1 个答案:

答案 0 :(得分:-2)

试试这个

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

    } catch (IOException ex) {
        ex.printStackTrace();
    }
}