import java.io.IOException; public class CmdMain { public static void main(String[] args){ //执行批处理文件 String strcmd="cmd /c start D:\\antrelease.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窗口(这个方法是好不容易才找到了,网上很多介绍的都无效) new CmdMain().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(); } } }
时间: 2024-11-01 14:20:27