转自: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 可执行程序,即使用 `Desktop...
在Windows操作系统中,CMD.EXE是一个非常重要的命令行界面工具,它提供了用户与操作系统交互的方式,允许执行各种系统命令、管理文件和运行程序。VB(Visual Basic)是Microsoft开发的一种面向对象的编程语言,以其...
**Java调用命令行** 在Java中,我们可以使用`Runtime`类或`ProcessBuilder`类来执行命令行操作。 1. **使用Runtime.exec()** `Runtime.getRuntime().exec(command)` 是最基础的方法,用于执行指定的系统命令。`...
下面我们将详细讲解如何在Java中以管理员权限运行CMD命令,以及`nircmd.exe`在这个过程中的作用。 `nircmd.exe`是一个强大的命令行工具,由NirSoft公司开发,它提供了一系列实用的命令,可以帮助我们执行一些...
String[] cmd = { "cmd.exe", "/c", "dir C:\\Windows" }; Process p = Runtime.getRuntime().exec(cmd); ``` 这里我们使用了`cmd.exe`命令行工具来列出C盘Windows目录下的文件列表。 #### 3.3 使用ProcessBuilder...
- 如果要执行DOS内部命令,如`dir`或`copy`,需要在命令前加上命令解释器,如`cmd.exe /c`。例如: ```java Process process = Runtime.getRuntime().exec("cmd.exe /c dir"); ``` - 为了确保程序在不同版本的...
下面将详细解释如何使用Java调用CMD来创建目录和复制文件。 首先,我们需要了解CMD中的命令。在Windows CMD中,我们可以使用`mkdir`命令创建目录,`copy`命令复制文件。例如,创建一个名为“我的文件夹”的目录,...
当调用CMD命令时,要特别小心,避免命令注入攻击。永远不要从不可信的来源接收命令字符串。如果需要动态构建命令,确保对输入进行充分的验证和过滤。 总结,通过Java调用Windows CMD命令,我们可以方便地执行系统级...
本文将详细讲解如何在Java程序中调用CMD命令。 首先,我们来看`Runtime.getRuntime().exec()`方法,这是最常用的方式来执行系统命令。例如,如果我们要在CMD中运行一个`dir`命令,可以这样做: ```java try { ...
通过这些基础知识,我们可以灵活地在Java程序中调用CMD命令,执行系统级别的操作。这在自动化任务、系统集成或者需要操作系统功能支持的场景下非常实用。但同时,也要注意权限控制和安全问题,避免潜在的攻击风险。
### Java调用cmd命令 1. **使用Runtime类**: Java中可以使用`Runtime`类来获取Java程序的运行时对象。通过运行时对象,可以使用`exec()`方法来执行系统命令。 2. **命令格式**: 在Java中执行cmd命令时,常用的...
使用方法: (1)导入Command.jar工具包 (2)Command.exeCmd("cmd命令")//该方法返回String
总之,Java调用DOS命令主要依赖`Runtime`和`Process`类,需要注意命令格式、标准输出处理以及资源管理等问题,以确保命令的正确执行和程序的稳定运行。在实际开发中,应充分考虑各种情况,以保证代码的健壮性和跨...
java语言通过cmd命令在远程电脑上创建定时任务,从而达到控制远程开启或者关闭自己想要处理的应用程序,而不用亲临。很简单,由于win10系统的安全性,使用邮箱在线注册过的win10估计是不行的,自己试吧。
用java语言实现windows dos的调用,通过输入dos命令,执行相应的结果
在这个例子中,我们创建了一个`ProcessBuilder`实例,传入了命令`cmd.exe`,参数`/c`表示执行完命令后关闭命令提示符窗口,`start`是Windows命令用于启动一个新的进程,最后是Word文档的路径。调用`start()`方法...
在本文中,我们将深入探讨如何在Windows 10操作系统中使用Hadoop 2.7.3版本进行开发,特别关注“hadoop.dll”和“winutils.exe”这两个关键组件。Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在...
### Java调用应用程序和Dos中的命令 在Java编程中,有时候我们需要执行一些操作系统级别的任务,例如启动一个外部程序、执行一些系统命令等。这通常可以通过Java的`Runtime`类实现,尤其是通过`Runtime.exec()`方法...