Java 调用cmd.exe命令

转自:http://blog.163.com/[email protected]/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指令,原窗口不会关闭。

如下举例:
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();
}
}

时间: 2024-10-11 07:28:16

Java 调用cmd.exe命令的相关文章

Java调用cmd命令 打开一个站点

使用Java程序打开一个站点 近期做了个东西使用SWT技术在一个client程序 须要升级时在提示升级 点击窗口上的一个连接 打开下载网页 花费了我非常长时间 用到了把它记录下来  怕是忘记,须要时能够直接来用到.         try { //不是在Java程序中运行而是在操作系统中运行             Runtime.getRuntime().exec("cmd /c start http://blog.csdn.net/blogluoqi/"); //Runtime.g

C#程序调用cmd.exe执行命令

代码部分 using System.Diagnostics; public class CmdHelper { private static string CmdPath = @"C:\Windows\System32\cmd.exe"; /// <summary> /// 执行cmd命令 /// 多命令请使用批处理命令连接符: /// <![CDATA[ /// &:同时执行两个命令 /// |:将上一个命令的输出,作为下一个命令的输入 /// &&

java调用cmd执行maven命令

一.原理介绍 Java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后封闭命令窗口. cmd /k dir 是执行完dir命令后不封闭命令窗口. cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会封闭. cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会封闭. 可以用cmd / 查看帮助信息. 二.java调用cmd执行maven package命

C#程序调用CMD执行命令

在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统.输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机.总之,它非常有用.打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.exe 回车.它也可以执行BAT文件. 下面介绍使用C#程序调用cmd执行命令: 代码: 1 using System; 2 using System.Coll

C# 调用CMD执行命令行

这几天用c#做了一个项目,其中一个功能是要把生成的临时文件隐藏,同时,不能在屏幕上有调用CMD的痕迹,这里生成的临时文件的绝对路径为delfile为文件的绝对路径, 代码如下: private void HiddenFile() { System.Diagnostics.Process proRestart = new System.Diagnostics.Process();    //创新Process proRestart.StartInfo.WindowStyle = System.Di

JAVA:调用cmd指令(支持多次手工输入)

JDK开发环境:1.8 1 package com.le.tool; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.InputStreamReader; 8 import java.io.PrintWriter; 9 import java.nio.charset.Chars

JAVA调用CMD命令

原理: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盘

转:Java调用CMD命令

java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是执行完dir命令后不关闭命令窗口. cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭. cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭. 可以用cmd /?查看帮助信息. ★CMD命令★ 1. gpedit.msc-----组策略 2. s

【转】C#程序调用cmd.exe执行命令

代码部分 using System.Diagnostics; public class CmdHelper     {         private static string CmdPath = @"C:\Windows\System32\cmd.exe";         /// <summary>         /// 执行cmd命令         /// 多命令请使用批处理命令连接符:         /// <![CDATA[         ///