使用java一个接一个地执行多个批处理文件

时间:2018-03-27 10:12:48

标签: java batch-file

我想在我的java应用程序中一个接一个地执行相同的批处理文件。 我想等到批处理文件完成然后再执行下一个。 我正在使用运行时然后等待,但它不起作用。

请帮助我。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用以下代码来解决问题: -

String[] command ={"/pathto/your/batch.sh", "commandLineParameter"};
//for example if you run your batch manually like 'mybatch.sh  today'
// so your command line parameter is today
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectOutput(new File("/tmp/output.txt"));
    //in the above output.txt you can see the output from the command
   while(true){
      try {
             Process p = pb.start();
             p.waitFor();
           } catch (InterruptedException e) {
                  e.printStackTrace();
           }catch (Exception e1) {
                  e1.printStackTrace();
       }
        if(something)//put your condition here when to break the loop
           break;
   }//end of while loop

答案 1 :(得分:0)

您可以使用ProcessBuilder参考:ProcessBuilder Apache Commons Exec

查找Apache Commons Exec的示例。 它为您解决了许多与您的方法相关的常见问题。