中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 01:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何用主批处理程序监视子批处理程序是否运行结束? 查看 1,058 回复 5
楼 主 如何用主批处理程序监视子批处理程序是否运行结束? 发表于 2007-10-04 18:11 ·  美国 惠普公司
中级用户
★★
积分 400
发帖 211
注册 2007-09-30 18:02
18年会员
UID 98650
性别 男
状态 离线
一个主批处理程序会启动若干个子批处理程序,如何用主批处理程序监视子批处理程序是否成功运行结束?
请高手相助!!!

[ Last edited by uiopuiop on 2007-10-4 at 11:26 PM ]
2 发表于 2007-10-04 19:22 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
start /w
结束了再继续.
检查自己写吧.
3 发表于 2007-10-04 21:00 ·  美国 惠普公司
中级用户
★★
积分 400
发帖 211
注册 2007-09-30 18:02
18年会员
UID 98650
性别 男
状态 离线
不好意思 START /wait 是等子程序运行完才运行下一步。
4 发表于 2007-10-04 21:26 ·  美国 惠普公司
中级用户
★★
积分 400
发帖 211
注册 2007-09-30 18:02
18年会员
UID 98650
性别 男
状态 离线
我想到一个方法,不知道有没有谁比我的方法更好:

:: MAIN.BAT
::COPY CMD.EXE 并重命名为MY_CMD.EXE
copy c:\WINDOWS\system32\cmd.exe .\My_CMD.exe
START MY_CMD.EXE /k BAT1.BAT
START MY_CMD.EXE /k BAT2.BAT
START MY_CMD.EXE /k BAT3.BAT

:CheckSubprogram
tasklist |find /i "MY_CMD.EXE">nul
IF NOT ERRORLEVEL 1 (
ECHO Subprogram running ...
sleep.exe 30
GOTO CheckSubprogram
) ELSE (
sleep.exe 1
tasklist |find /i "MY_CMD.EXE">nul
IF NOT ERRORLEVEL 1 GOTO CheckSubprogram
ECHO All subprogram finished.
GOTO END
)
5 发表于 2007-10-05 09:59 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
貌似2错误的东西.
..
用1>>txt 2>>txt
把消息导出。然后用FIND判断.
6 发表于 2007-10-05 10:05 ·  中国 上海 长宁区 电信
中级用户
★★
积分 400
发帖 211
注册 2007-09-30 18:02
18年会员
UID 98650
性别 男
状态 离线
不明白你说什么? 有比我更好的方法吗?
论坛跳转: