代码如下: package com.fr.data; import java.io.IOException; import com.fr.script.Calculator; import com.fr.data.DefinedSubmitJob; public class CustomSubmitJob1 extends DefinedSubmitJob { public void doJob(Calculator calculator) throws Exception { //public static void main(String[] args){
//执行批处理文件 String strcmd="cmd /c start C:/Users/t0603925/Desktop/ALLbat/Cxfenjie.bat"; Runtime rt = Runtime.getRuntime(); Process ps = null; try { ps = rt.exec(strcmd); } catch (IOException e1) { e1.printStackTrace(); } try { ps.waitFor(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } int i = ps.exitValue(); if (i == 0) { System.out.println("执行完成.") ; } else { System.out.println("执行失败.") ; } ps.destroy(); ps = null;
//批处理执行完后,根据cmd.exe进程名称 kill掉cmd窗口(这个方法是好不容易才找到了,网上很多介绍的都无效) killProcess();
}
public void killProcess(){ Runtime rt = Runtime.getRuntime(); Process p = null; try { rt.exec("cmd.exe /C start wmic process where name='cmd.exe' call terminate"); } catch (IOException e) { e.printStackTrace(); } } } |
最佳回答 |
||||
0
|
|