package com.gsww.ctyxy.dicom.util;
import java.io.IOException;
/**
* Bat脚本执行工具
*
* @author zhangyongliang
* @create 2018-04-25 18:52
**/
public class InvokeBat2 {
public static String runbat(String batPath, String... argStrings) {
String cmd = "cmd /c start /b " + batPath + " " +"-jlsn ";
if (argStrings != null && argStrings.length > 0) {
for (String string : argStrings) {
cmd += string + " ";
}
}
return cmd;
}
public static void main(String[] args) {
String[] changeArgs=new String[]{"D:\\1.2.840.113564.44456477247028.7516.636269839232174797.446","D:\\test\\"};
String cmd=runbat("C:\\Users\\Zhangyongliang\\Desktop\\dcm4che-5.13.0\\bin\\dcm2dcm.bat",changeArgs);
Runtime rt=Runtime.getRuntime();
Process ps=null;
try{
ps=rt.exec( cmd);
ps.waitFor();
}catch (Exception e){
e.printStackTrace();
}
int i = ps.exitValue();
if (i == 0) {
System.out.println("执行完成.");
} else {
System.out.println("执行失败.");
}
ps.destroy();
ps=null;
//批处理后,结束掉进程
new InvokeBat2().killProcess();
}
//杀死bat调用进程
private void killProcess() {
Runtime rt = Runtime.getRuntime();
Process p = null;
try {
rt.exec("cmd.exe /C start wmic process where name='cmd.exe' call terminate");
System.out.println("程序结束运行");
} catch (IOException e) {
e.printStackTrace();
}
}
}
复制代码