`
belber
  • 浏览: 5717 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

【转】Java 调用cmd.exe命令

    博客分类:
  • Java
阅读更多

转自:http://blog.163.com/jackswu@yeah/blog/static/1406291232012575743301/

原理: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 /?查看帮助信息。

如下举例: 
1、从D盘copy一份文件到E盘。 
public static void main(String[] args) {
    try {
        String cmdStr = "cmd /c copy d:\\test.txt e:\\" ;
        Runtime.getRuntime().exec(cmdStr);
    }catch(Exception e){
        e.printStackTrace();
    }
}
注:这里d盘下的目录要用\\,若用d:/test.txt则会理解成同/c一样的命令,而找不到文件路径;故这里可以用file.getAbsolutePath(); 

2、删除一个文件(注意是单个文件,非文件夹)。这里以上面copy到e盘的test.txt文件为例。 
public static void main(String[] args) {
    try {
        String cmdStr = "cmd /c del e:\\test.txt" ;
        Runtime.getRuntime().exec(cmdStr);
    }catch(Exception e){
        e.printStackTrace();
    }
}

3、强制删除e:/test文件夹下的所有文件夹及文件
 
public static void main(String[] args) {
    try {
        String cmdStr = "cmd /c rd/s/q e:\\test" ;
        Runtime.getRuntime().exec(cmdStr);
    }catch(Exception e){
        e.printStackTrace();
    }
}
:这里主要是“rd/s/q”起到了作用,这样无论test里面有几层文件夹,文件夹下有多少文件,都统统被强制删除了。

调用系统命令,使用如下的一行代码: 
Process process = Runtime.getRuntime().exec("cmd /c copy d:\\test.txt e:"); 
其中,方法exec的参数就是你要调用的具体系统命令。因为copy本身不是一个可执行的exe文件,因此需要在前面添加cmd /c来启动一个控制台应用程序。而若要运行一个可执行程序,如执行我在F盘下的tomcat安装文件,将命令写为:String cmdStr = "F:\\apache-tomcat-6.0.20.exe";  

调用批处理代码: 
public static void main(String[] args) {   
    String path = "D:\\public.bat";   
    Runtime run = Runtime.getRuntime();   
    try {     
        Process process = run.exec("cmd.exe /k start " + path);   

        //将调用结果打印到控制台上
        InputStream in = process.getInputStream();     
        while (in.read() != -1) {   
            System.out.println(in.read());   
        }   
        in.close();   
        process.waitFor();   
    } catch (Exception e) {            
        e.printStackTrace();   
    }   

分享到:
评论

相关推荐

    java中两种方式调用其他.exe可执行程序

    Java 中两种方式调用其他.exe 可执行程序 Java 是一种广泛应用于企业级应用开发的编程语言,可以调用其他.exe 可执行程序,实现一些特殊的功能。在 Java 中有两种方式可以调用其他.exe 可执行程序,即使用 `Desktop...

    仿照windows下的CMD.EXE程序

    在Windows操作系统中,CMD.EXE是一个非常重要的命令行界面工具,它提供了用户与操作系统交互的方式,允许执行各种系统命令、管理文件和运行程序。VB(Visual Basic)是Microsoft开发的一种面向对象的编程语言,以其...

    java javascript 调用命令行 cmd

    **Java调用命令行** 在Java中,我们可以使用`Runtime`类或`ProcessBuilder`类来执行命令行操作。 1. **使用Runtime.exec()** `Runtime.getRuntime().exec(command)` 是最基础的方法,用于执行指定的系统命令。`...

    java 以管理员身份调用cmd 需要用到的文件

    下面我们将详细讲解如何在Java中以管理员权限运行CMD命令,以及`nircmd.exe`在这个过程中的作用。 `nircmd.exe`是一个强大的命令行工具,由NirSoft公司开发,它提供了一系列实用的命令,可以帮助我们执行一些...

    java中调用本地exe文件

    String[] cmd = { "cmd.exe", "/c", "dir C:\\Windows" }; Process p = Runtime.getRuntime().exec(cmd); ``` 这里我们使用了`cmd.exe`命令行工具来列出C盘Windows目录下的文件列表。 #### 3.3 使用ProcessBuilder...

    java调用windows命令

    - 如果要执行DOS内部命令,如`dir`或`copy`,需要在命令前加上命令解释器,如`cmd.exe /c`。例如: ```java Process process = Runtime.getRuntime().exec("cmd.exe /c dir"); ``` - 为了确保程序在不同版本的...

    java调用cmd创建目录和复制文件

    下面将详细解释如何使用Java调用CMD来创建目录和复制文件。 首先,我们需要了解CMD中的命令。在Windows CMD中,我们可以使用`mkdir`命令创建目录,`copy`命令复制文件。例如,创建一个名为“我的文件夹”的目录,...

    java 调用 windows cmd 命令

    当调用CMD命令时,要特别小心,避免命令注入攻击。永远不要从不可信的来源接收命令字符串。如果需要动态构建命令,确保对输入进行充分的验证和过滤。 总结,通过Java调用Windows CMD命令,我们可以方便地执行系统级...

    Java_CMD.rar_java cmd

    本文将详细讲解如何在Java程序中调用CMD命令。 首先,我们来看`Runtime.getRuntime().exec()`方法,这是最常用的方式来执行系统命令。例如,如果我们要在CMD中运行一个`dir`命令,可以这样做: ```java try { ...

    Java调用相应cmd命令的实例

    通过这些基础知识,我们可以灵活地在Java程序中调用CMD命令,执行系统级别的操作。这在自动化任务、系统集成或者需要操作系统功能支持的场景下非常实用。但同时,也要注意权限控制和安全问题,避免潜在的攻击风险。

    Windows系统中Java调用cmd命令及执行exe程序的方法

    ### Java调用cmd命令 1. **使用Runtime类**: Java中可以使用`Runtime`类来获取Java程序的运行时对象。通过运行时对象,可以使用`exec()`方法来执行系统命令。 2. **命令格式**: 在Java中执行cmd命令时,常用的...

    java执行cmd命令并返回运行结果

    使用方法: (1)导入Command.jar工具包 (2)Command.exeCmd("cmd命令")//该方法返回String

    JAVA如何调用DOS命令.doc

    总之,Java调用DOS命令主要依赖`Runtime`和`Process`类,需要注意命令格式、标准输出处理以及资源管理等问题,以确保命令的正确执行和程序的稳定运行。在实际开发中,应充分考虑各种情况,以保证代码的健壮性和跨...

    java调用cmd创建定时任务

    java语言通过cmd命令在远程电脑上创建定时任务,从而达到控制远程开启或者关闭自己想要处理的应用程序,而不用亲临。很简单,由于win10系统的安全性,使用邮箱在线注册过的win10估计是不行的,自己试吧。

    java实现cmd命令

    用java语言实现windows dos的调用,通过输入dos命令,执行相应的结果

    java 调用doc命令

    在这个例子中,我们创建了一个`ProcessBuilder`实例,传入了命令`cmd.exe`,参数`/c`表示执行完命令后关闭命令提示符窗口,`start`是Windows命令用于启动一个新的进程,最后是Word文档的路径。调用`start()`方法...

    Hadoop2.7.3 Window10 hadoop.dll winutils.exe

    在本文中,我们将深入探讨如何在Windows 10操作系统中使用Hadoop 2.7.3版本进行开发,特别关注“hadoop.dll”和“winutils.exe”这两个关键组件。Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在...

    Java调用应用程序和Dos中的命令

    ### Java调用应用程序和Dos中的命令 在Java编程中,有时候我们需要执行一些操作系统级别的任务,例如启动一个外部程序、执行一些系统命令等。这通常可以通过Java的`Runtime`类实现,尤其是通过`Runtime.exec()`方法...

Global site tag (gtag.js) - Google Analytics