java调用bat怎么没有反应????

llller 2012-07-17 12:07:25
Process p = Runtime.getRuntime().exec("cmd /c c:\\test.bat");
这样写,根本就执行不了;

加上start就可以了
Process p = Runtime.getRuntime().exec("cmd /c start c:\\test.bat");

但是加上start后,waitFor又没效果了...真是郁闷...


请问第一种方式怎么执行不了?????
...全文
266 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqfddqr 2012-07-17
  • 打赏
  • 举报
回复
我试过应该能用的 waitfor没试过

把bat写到java字符串里
冯立彬 2012-07-17
  • 打赏
  • 举报
回复
waitFor不行的,即使你启动的DOS窗口没有关闭,它照样会执行结束,一种折衷的方法就是让bat执行完后写一个文件,然后JAVA去读取这个文件,可以设置一个超时时间,以免堵死了。
llller 2012-07-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

我试过应该能用的 waitfor没试过

把bat写到java字符串里
[/Quote]

你是说这样????
String str = bat的内容
Process p = Runtime.getRuntime().exec("cmd /c " + str);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧