美文网首页
Java实现Bat脚本调用

Java实现Bat脚本调用

作者: 溯水心生 | 来源:发表于2018-04-27 11:57 被阅读142次
    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();
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:Java实现Bat脚本调用

          本文链接:https://www.haomeiwen.com/subject/mqeblftx.html