首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java运行windows批处理程序?

java运行windows批处理程序?
EN

Stack Overflow用户
提问于 2012-10-24 15:26:44
回答 5查看 263关注 0票数 0

可能重复: 如何从Java应用程序运行批处理文件?

是否有运行Windows批处理文件的Java类?例如,启动批处理文件并接收批处理运行的结果?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-10-24 15:30:10

Apache Commons Exec是一个很好的方法。解决了如果使用纯ProcessBuilder或Runtime.exec会遇到的几个问题。

根据项目说明:

从Java执行外部进程是一个众所周知的问题领域。它在很大程度上依赖于平台,并要求开发人员知道和测试平台特定的行为,例如在Windows上使用cmd.exe或导致死锁的有限缓冲区大小。JRE对此的支持非常有限,尽管使用新的JavaSE1.5 ProcessBuilder类更好。

票数 1
EN

Stack Overflow用户

发布于 2012-10-24 15:28:33

通常的材料Runtime#exec一样可以处理批处理文件。正在执行的命令是cmd.exe,批处理文件名是它的一个参数。我相信论证序列是cmd.exe/cbatch_file_name。(编辑:是的,事实上,我找到了一个https://stackoverflow.com/questions/615948/how-do-i-run-a-batch-file-from-my-java-application,这个问题与答案中的内容重复。)

票数 0
EN

Stack Overflow用户

发布于 2012-10-24 15:29:39

Runtime.getRuntime().exec("cmd /c start batFileName.bat");应该能工作。但是要读取java进程的输出,请从上面的逗号中删除start

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13052393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档