使用 Java 调用 cmd 命令
2022/1/8 20:04:52
本文主要是介绍使用 Java 调用 cmd 命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用 java 调用 cmd 命令时,使用如下的代码(不需要导入其他库)
Runtime.getRuntime().exec(command); //command是需要运行的命令
但是呢,这样是运行不了的,要进行异常处理:
try { Runtime.getRuntime().exec(command); } catch (IOException e1) { // 改自己的异常类 e1.printStackTrace(); }
现在,可以运行exe文件,但是若运行 gpedit.msc devmgmt.msc 等工具无反应
解决办法是,设定cmd的运行模式(这不是java的语法,是在cmd中设置):
#转至https://blog.csdn.net/liuyukuan/article/details/5974517 cmd /c command 执行完命令后关闭命令窗口。 cmd /k command 执行完命令后不关闭命令窗口。 cmd /c start command 会打开一个新窗口后执行命令,原窗口会关闭。 cmd /k start command 会打开一个新窗口后执行命令,原窗口不会关闭。
将命令改变后,就可以正常使用会弹出新窗口的程序了
但是,现在只能使用有图形界面的程序,如果要调用出命令行及没有图型界面的程序,则要用下面两个命令,不然不会弹出。
例如:
Runtime.getRuntime().exec("cmd /c powershell"); // 无反应 Runtime.getRuntime().exec("cmd /c start powershell"); // 成功调出powershell
个人理解是: java会在后台运行一个控制台,然后再运行输入的代码,但是这个控制台是不会到前台的,所以没图形界面的程序虽然能运行,但是无法显示.
至于为什么不能运行 *.msc 等工具,还不是很清楚
总结:
1. java运行 可执行文件,使用如下代码(也可以加上运行模式)
try { Runtime.getRuntime().exec( exeName ); // 将 exeName 改成 应用程序名 } catch (IOException e1) { // 改自己的异常类 e1.printStackTrace(); }
2. java 执行 *.msc 类文件,要加上前面四种运行模式的一种.
3. java 执行 无图形界面 软件,要用最后两种运行模式之一.
补充:
学生党,单纯做笔记使用,若有不足之处请指正,感激不尽!
这篇关于使用 Java 调用 cmd 命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求