原理: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();
}
}
分享到:
相关推荐
【标题】:“仿照windows下的CMD.EXE程序” 在Windows操作系统中,CMD.EXE是一个非常重要的命令行界面工具,它提供了用户与操作系统交互的方式,允许执行各种系统命令、管理文件和运行程序。VB(Visual Basic)是...
Java 中两种方式调用其他.exe 可执行程序 Java 是一种广泛应用于企业级应用开发的编程语言,可以调用其他.exe 可执行程序,实现一些特殊的功能。在 Java 中有两种方式可以调用其他.exe 可执行程序,即使用 `Desktop...
**Java调用命令行** 在Java中,我们可以使用`Runtime`类或`ProcessBuilder`类来执行命令行操作。 1. **使用Runtime.exec()** `Runtime.getRuntime().exec(command)` 是最基础的方法,用于执行指定的系统命令。`...
下面我们将详细讲解如何在Java中以管理员权限运行CMD命令,以及`nircmd.exe`在这个过程中的作用。 `nircmd.exe`是一个强大的命令行工具,由NirSoft公司开发,它提供了一系列实用的命令,可以帮助我们执行一些...
这里我们使用了`cmd.exe`命令行工具来列出C盘Windows目录下的文件列表。 #### 3.3 使用ProcessBuilder 除了使用`Runtime.getRuntime().exec`之外,还可以选择使用`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
在NT上,可以使用`"cmd.exe /c dir"`,而在Windows 95/98下则是`"command.exe /c dir"`。另外,也可以将命令写入批处理文件(如`my_dir.bat`)并直接调用这个批处理文件,避免因平台差异带来的兼容性问题。 2. **...
java语言通过cmd命令在远程电脑上创建定时任务,从而达到控制远程开启或者关闭自己想要处理的应用程序,而不用亲临。很简单,由于win10系统的安全性,使用邮箱在线注册过的win10估计是不行的,自己试吧。
用java语言实现windows dos的调用,通过输入dos命令,执行相应的结果
4. **配置`winutils.exe`和`hadoop.dll`**:将`hadoop.dll`复制到`%HADOOP_HOME%\bin`目录下,确保`winutils.exe`也在同一目录。这两个文件的正确放置对Hadoop在Windows上的正常运行至关重要。 5. **配置Hadoop配置...
在这个例子中,我们创建了一个`ProcessBuilder`实例,传入了命令`cmd.exe`,参数`/c`表示执行完命令后关闭命令提示符窗口,`start`是Windows命令用于启动一个新的进程,最后是Word文档的路径。调用`start()`方法...
### Java调用应用程序和Dos中的命令 在Java编程中,有时候我们需要执行一些操作系统级别的任务,例如启动一个外部程序、执行一些系统命令等。这通常可以通过Java的`Runtime`类实现,尤其是通过`Runtime.exec()`方法...