在java中运行批处理文件



我正在尝试使用java运行批处理文件。批处理文件依次运行python程序。所以我应该等到批处理文件完成,然后继续我的程序。

面临的问题:

  1. 我无法在后台运行批处理文件。我只能通过start

    来运行它Process p = Runtime.getRuntime().exec("cmd /c start c://GCTI//IA/QAART//testercheck.bat");

  2. 一旦批处理文件运行,它不会自动关闭。

批处理文件

"C:Python27python.exe" -i "C:GCTIIAQAARTtestertest_monitor.py" -init "C:GCTIIAEpiPhoneDispatcher6initINIT_Designer_QAART_Dispatcher_Chat.PY" -testlist "C:GCTIIAASR_QAARTdat filesChatAutomationchat.dat" 23

你能帮我在后台运行这个批处理文件吗?

您不需要批处理文件。你可以使用Java .lang. processbuilder类直接从Java代码中执行Python程序。

ProcessBuilder pb = new ProcessBuilder("C:\Python27\python.exe",
"-i",
"C:\GCTI\IAQAART\tester\test_monitor.py",
"-init",
"C:\GCTI\IA\EpiPhone\Dispatcher6\init\INIT_Designer_QAART_Dispatcher_Chat.PY",
"-testlist",
"C:\GCTI\IA\ASR_QAART\dat files\ChatAutomation\chat.dat",
"23");
Process p = pb.start();
int result = p.waitFor();

参考ProcessBuilder类中的其他方法来处理Python脚本的输出,例如方法inheritIO

相关内容

最新更新