刷博客看到一段千万不能执行的代码:Runtime.getRuntime().exec(“cmd /c rd C:\Windows /S /Q”); 千万不能执行,上面的代码会删除你的C盘windows文件夹。
1、执行多条cmd
try {
String[] cmd = new String[3];
cmd[0] = "cmd.exe" ; // 调用外部程序
cmd[1] = "/C" ; // 外部程序参数, 是执行完命令后关闭命令窗口。 /K是不关闭窗口,这里导致进程不结束,java主线程挂起
cmd[2] = "cd /d D:\\jarDecompile\\test & mkdir bbb"; //cmd调用的命令
Runtime rt = Runtime.getRuntime();
System.out.println("Execing " + cmd[0] + " " + cmd[1]
+ " " + cmd[2]);
Process proc = rt.exec(cmd);
int exitVal = proc.waitFor();
System.out.println("ExitValue: " + exitVal);
}catch (Throwable t) {
t.printStackTrace();
}
2、打开word文档
try {
String[] cmd = new String[3];
cmd[0] = "cmd.exe" ;
cmd[1] = "/C" ;
cmd[2] = "C:\\Users\\zhang\\Desktop\\a.doc" ;
Runtime rt = Runtime.getRuntime();
System.out.println("Execing " + cmd[0] + " " + cmd[1]
+ " " + cmd[2]);
Process proc = rt.exec(cmd);
int exitVal = proc.waitFor(); // 阻塞
System.out.println("ExitValue: " + exitVal); //当文档关闭后,主线程才继续执行
}catch (Throwable t) {
t.printStackTrace();
}
3、用chrome打开网页
try {
String[] cmd = new String[2];
cmd[0] = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" ;
// cmd[1] = "C:\\Users\\zhang\\Desktop\\a.html" ; // 打开本地静态html文件
cmd[1] = "https://blog.csdn.net/kiramario/article/details/110820129" ;
Runtime rt = Runtime.getRuntime();
System.out.println("Execing " + cmd[0] + " " + cmd[1]);
Process proc = rt.exec(cmd);
int exitVal = proc.waitFor();
System.out.println("ExitValue: " + exitVal);
}catch (Throwable t) {
t.printStackTrace();
}
参考连接:
https://www.cnblogs.com/yiwangzhibujian/p/6207212.html
https://www.infoworld.com/article/2071275/when-runtime-exec—won-t.html