![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 02:35 |
共 47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]关于JAVA调用BAT的问题 |
| 可打印版本 1,084 / 5 |
| 第1楼 dhn269 | 发表于 2008-10-14 16:55 |
| 新手上路 发帖 3 积分 8 | |
|
[求助]关于JAVA调用BAT的问题 1.我在java中调用BAT时,发现java只是调起BAT,并不等待BAT执行完,Process中的waitFor()方法也不管用,往往是进程已经结束了,但Java还认为没结束,或者干脆是Java认为结束了,但进程却实际还在运行着。请问有什么办法解决呢?
2.java能获取BAT退出时返回的errorlevel值吗? 查了一下午了 实在找不到 谢谢 |
|
| 第2楼 huahua0919 | 发表于 2008-10-14 17:33 |
| 银牌会员 发帖 780 积分 1,608 | |
|
把你用JAVA调用BAT的程序贴出来看看
|
|
| 第3楼 dhn269 | 发表于 2008-10-14 18:32 |
| 新手上路 发帖 3 积分 8 | |
|
用下面这个倒是可以解决调用不等待的问题了,但是“2.java能获取BAT退出时返回的errorlevel值吗?”还是没什么头绪
|
|
| 第4楼 huahua0919 | 发表于 2008-10-14 19:08 |
| 银牌会员 发帖 780 积分 1,608 | |
|
上面的程序中用
while ((c = in.read()) != -1) 来判断程序是否结束,其实也可以创建一个线程,并分配一把锁给这个线程,当程序结束后再归还给main,基本可以实现效果 至于你说的errorlevel返回值,在JAVA中我没听说过,也许是我寡闻,一般的方法返回类型都会在你方法名前定义好的,即使异常的也是通过Try进行捕获! 不知你有何高见 |
|
| 第5楼 junchen2 | 发表于 2008-10-14 19:58 |
| 高级用户 发帖 219 积分 537 来自 杭州--半山 | |
|
start去掉试一试,
PS,代码都没用帖全try catch语句貌似都有错误。本人java知道一点皮毛哈。 |
|
| 第6楼 dhn269 | 发表于 2008-10-14 22:07 |
| 新手上路 发帖 3 积分 8 | |
Originally posted by huahua0919 at 2008-10-14 19:08: 1.谢谢你的解释,这个程序没什么问题,确实实现那个效果了 2.我说的得到ERRORLEVEL是这个意思: 这个批处理程序完成以后,会返回234,我用JAVA调用这个批处理后想得到这个234,不知道该怎么写 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |