Java执行bat批处理文件,并关闭cmd窗口

[html]  view plain  copy
 print ?
  1. package com.baobaotao.test;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. public class CmdMain {  
  6.     public static void main(String[] args) {  
  7.   
  8.         // 执行批处理文件  
  9.         String strcmd = "cmd /c start  E:\\run.bat";  
  10.         Runtime rt = Runtime.getRuntime();  
  11.         Process ps = null;  
  12.         try {  
  13.             ps = rt.exec(strcmd);  
  14.         } catch (IOException e1) {  
  15.             e1.printStackTrace();  
  16.         }  
  17.         try {  
  18.             ps.waitFor();  
  19.         } catch (InterruptedException e) {  
  20.             // TODO Auto-generated catch block  
  21.             e.printStackTrace();  
  22.         }  
  23.         int i = ps.exitValue();  
  24.         if (i == 0) {  
  25.             System.out.println("执行完成.");  
  26.         } else {  
  27.             System.out.println("执行失败.");  
  28.         }  
  29.         ps.destroy();  
  30.         ps = null;  
  31.   
  32.         // 批处理执行完后,根据cmd.exe进程名称  
  33.         // kill掉cmd窗口  
  34.         new CmdMain().killProcess();  
  35.   
  36.     }  
  37.   
  38.     public void killProcess() {  
  39.         Runtime rt = Runtime.getRuntime();  
  40.         Process p = null;  
  41.         try {  
  42.             rt.exec("cmd.exe /C start wmic process where name='cmd.exe' call terminate");  
  43.         } catch (IOException e) {  
  44.             e.printStackTrace();  
  45.         }  
  46.     }  
  47. }  

你可能感兴趣的:(Java执行bat批处理文件,并关闭cmd窗口)