请问如何在调用cmd运行完bat文件后自动退出

lixiurui 2010-06-11 11:01:41
现在的代码是
try 
{
Process child=Runtime.getRuntime().exec("cmd.exe /c start "+batFileName);
InputStream in=child.getInputStream();
int c=0;
while(c!=-1)
{
c=in.read();
}
in.close();
try
{
child.waitFor();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println(batFileName+" done");
}
catch (IOException e)
{
e.printStackTrace();
}


一般情况下可以自动退出,可是某些时候,比如执行一个运行时间比较长的编译命令的时候,运行完不退出,即使后面的语句写了exit想强制退出也不执行。而从电脑上双击bat文件的时候却可以自动退出,是不是有什么特殊的命令呢,我看了一下cmd里的参数好像也没有特别的啊。谢谢诸位大拿了。
...全文
3484 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixiurui 2010-09-19
  • 打赏
  • 举报
回复
Process child=Runtime.getRuntime().exec(batFileName);
simplejiandan 2010-09-16
  • 打赏
  • 举报
回复
直接运行BAT,怎么写
lixiurui 2010-06-11
  • 打赏
  • 举报
回复
对啊,我也很郁闷,大多数都没问题,但是遇到这个耗时很长的编译命令就是不退出,不知道咋搞的,但是在电脑上双击就会自己退,郁闷死。
Java技术栈 2010-06-11
  • 打赏
  • 举报
回复
cmd.exe /c

/c就是执行后关闭CMD窗口阿 楼主代码没错啊
lixiurui 2010-06-11
  • 打赏
  • 举报
回复
对,没有执行完,耗时很长的那个命令执行完后就不执行其他的命令了,后来我把其他的命令都放到另外一个bat文件里了,现在这个命令就是最后一个命令了,但是执行完还是不退出。
xiesisi3 2010-06-11
  • 打赏
  • 举报
回复
cmd的命令没执行完就要退出?后台运行还是退出?
退出的话不太可能我觉得,除非改JVM.
lixiurui 2010-06-11
  • 打赏
  • 举报
回复
解决了,不从cmd启动bat文件了,直接运行bat文件,哈哈。
for0012 2010-06-11
  • 打赏
  • 举报
回复
mark
weskiter53 2010-06-11
  • 打赏
  • 举报
回复
mark
for0012 2010-06-11
  • 打赏
  • 举报
回复
帮 顶
truediego 2010-06-11
  • 打赏
  • 举报
回复
把下面这段注掉呢


InputStream in=child.getInputStream();
int c=0;
while(c!=-1)
{
c=in.read();
}
in.close();

62,614

社区成员

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

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