Java 调用cmd.exe命令

Posted qiumingcheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 调用cmd.exe命令相关的知识,希望对你有一定的参考价值。

原理:java的Runtime.getRuntime().exec(commandText)可以调用执行cmd指令。

cmd /c dir 是执行完dir命令后关闭命令窗口。 
cmd /k dir 是执行完dir命令后不关闭命令窗口。

cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。 
cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。 
注:增加了start,就会打开新窗口,可以用cmd /?查看帮助信息。

         public static void runCMD(String path) throws Exception 
        { 
                Process p = Runtime.getRuntime().exec("cmd /c cmd.exe /c " + path+" exit"); 
                BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));   
                String readLine = br.readLine();   
                while (readLine != null) { 
                    readLine = br.readLine(); 
                    System.out.println(readLine); 
                } 
                if(br!=null){ 
                    br.close(); 
                } 
                p.destroy(); 
                p=null; 
        } 
        public static void runCMDShow(String path) throws Exception 
        { 
            Process p = Runtime.getRuntime().exec("cmd /c start cmd.exe /c " + path+" exit"); 
            BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));   
            String readLine = br.readLine();   
            while (readLine != null) { 
                readLine = br.readLine(); 
                System.out.println(readLine); 
            } 
            if(br!=null){ 
                br.close(); 
            } 
            p.destroy(); 
            p=null; 
        } 
        public static void main(String[] args) {   
            String path = "D:\\iimob\\tomcat2\\bin\\startup.bat";  
            System.out.println(new Date()); 
            try { 
                runCMDShow(path); 
            } catch (Exception e) { 
                // TODO Auto-generated catch block 
                e.printStackTrace(); 
            } 
            System.out.println(new Date()); 
        }












































以上是关于Java 调用cmd.exe命令的主要内容,如果未能解决你的问题,请参考以下文章

如何用shell调用多条cmd命令

急求;java调用window的cmd的ping指令。。。。

h5页面调用cmd命令并隐藏cmd弹窗

C#程序调用CMD执行命令方法

从 C# 结果 0 输出通过 CMD.exe 调用“查询用户”

如何用C语言实现CMD.EXE调用