java调用cmd命令
java调用cmd命令
nodaoli内置
直接使用Runtime.getRuntime().exec(command);
,其中command
是cmd
命令
但是呢,这样是运行不了的,要进行异常处理,或者将其抛出:
1 | //这里选择异常处理 |
· 可以运行exe文件,
· 无法运行 gpedit.msc devmgmt.msc 等工具
1 | cmd /c command 执行完命令后关闭命令窗口。 |
使用start
会调用一个新的窗口,可以用来查看没有窗口的命令行
1 | Runtime.getRuntime().exec("cmd /c powershell"); // 无反应 |
获取内容
首先,Runtime.getRuntime().exec()会返回被调用的进程,我们需要获取这个进程
接着,再通过输入流,让java程序读取被调用程序的返回值,再将其输出便可
例如:
1 | /* 记得引入java.io中的相关包 */ |
此时,java程序就会打印出DIR命令的执行结果
但是注意,cmd不能加start参数,因为加上了会创建新的终端执行,java就得不到执行结果了
在获取内容时,需要将编码格式设置为GBK
,否则会出现乱码
process.getInputStream().”GBK”
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果