`
lls17
  • 浏览: 10001 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类

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

如下举例:
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();   
    }   
  
} 
1
0
分享到:
评论

相关推荐

    仿照windows下的CMD.EXE程序

    【标题】:“仿照windows下的CMD.EXE程序” 在Windows操作系统中,CMD.EXE是一个非常重要的命令行界面工具,它提供了用户与操作系统交互的方式,允许执行各种系统命令、管理文件和运行程序。VB(Visual Basic)是...

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

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

    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文件

    这里我们使用了`cmd.exe`命令行工具来列出C盘Windows目录下的文件列表。 #### 3.3 使用ProcessBuilder 除了使用`Runtime.getRuntime().exec`之外,还可以选择使用`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

    在NT上,可以使用`"cmd.exe /c dir"`,而在Windows 95/98下则是`"command.exe /c dir"`。另外,也可以将命令写入批处理文件(如`my_dir.bat`)并直接调用这个批处理文件,避免因平台差异带来的兼容性问题。 2. **...

    java调用cmd创建定时任务

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

    java实现cmd命令

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

    Hadoop2.7.3 Window10 hadoop.dll winutils.exe

    4. **配置`winutils.exe`和`hadoop.dll`**:将`hadoop.dll`复制到`%HADOOP_HOME%\bin`目录下,确保`winutils.exe`也在同一目录。这两个文件的正确放置对Hadoop在Windows上的正常运行至关重要。 5. **配置Hadoop配置...

    java 调用doc命令

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

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

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

Global site tag (gtag.js) - Google Analytics