1.我在java中调用BAT时,发现java只是调起BAT,并不等待BAT执行完,Process中的waitFor()方法也不管用,往往是进程已经结束了,但Java还认为没结束,或者干脆是Java认为结束了,但进程却实际还在运行着。请问有什么办法解决呢?
2.java能获取BAT退出时返回的errorlevel值吗?
查了一下午了 实在找不到
谢谢
2.java能获取BAT退出时返回的errorlevel值吗?
查了一下午了 实在找不到
谢谢
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
import java.io.IOException;
import java.io.InputStream;
public class CallCmd {
/**
* 调用.bat的脚本,等待脚本执行完毕后在执行后面的工作.
* @param locationCmd bat脚本的位置C:\\2006121911111AP\\2006121911111.bat
*/
public static void callCmd(String locationCmd){
try {
Process child = Runtime.getRuntime().exec("cmd.exe /C start "+locationCmd);
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
}
in.close();
try {
child.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("done");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Originally posted by huahua0919 at 2008-10-14 19:08:
上面的程序中用
while ((c = in.read()) != -1)
来判断程序是否结束,其实也可以创建一个线程,并分配一把锁给这个线程,当程序结束后再归还给main,基本 ...
@echo off
set AAA=234
exit /B %AAA%