这里以Windows系统的命令行环境为例
如何编码大家应该都熟悉,使用Runtime.getRuntime().exec(String command)
就可以。本文主要是补充几个参数使用示例,强烈建议大家亲手试试体会一下不同之处。
简单命令
Runtime.getRuntime().exec("notepad")
import org.apache.commons.lang3.SystemUtils;
if (SystemUtils.IS_OS_WINDOWS) {
updateCommand = "cmd.exe /C " + command;
process = Runtime.getRuntime().exec(updateCommand);
} else if (SystemUtils.IS_OS_UNIX) {
updateCommand = command;
process = Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", command});
}
文件拷贝
Runtime.getRuntime().exec("cmd /c start copy C:\\Users\\xx\\Desktop\\xxx.txt C:\\Users\\xx\\Desktop\\xxxDir")
弹出命令行并执行
/c
与/k
的区别
Runtime.getRuntime().exec("cmd /k start cmd /c java -version")
Runtime.getRuntime().exec("cmd /k start cmd /k java -version")
给弹出命令行传递pause命令
Runtime.getRuntime().exec("cmd /k start cmd /c java -version ^&pause")
Runtime.getRuntime().exec("cmd /k start cmd /k java -version ^&pause")
给弹出命令行中的命令传递参数
Runtime.getRuntime().exec("cmd /k start cmd /c python ./test.py param1 param2 ^&pause")