中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 03:37
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何依次执行多个批处理 查看 987 回复 3
楼 主 如何依次执行多个批处理 发表于 2009-07-30 00:07 ·  中国 江苏 南京 电信
新手上路
积分 3
发帖 3
注册 2009-07-28 23:55
17年会员
UID 149530
性别 男
状态 离线
现在我有一个程序,它是调用其它程序的,并且是多个程序调用。现在的情况是前一个程序还没执行完,后面的程序就开始执行了,请问下该如何修改能使程序1个1个的执行?

调用.cmd

call D:\batch\Switch\dutswitch_T5581-01.cmd
call D:\batch\Switch\dutswitch_T5581-02.cmd
call D:\batch\Switch\dutswitch_T5581-03.cmd
rem call F:\batch\switch\T5581-04\T5581-04.cmd
rem call F:\batch\switch\T5581-05\T5581-05.cmd
call D:\batch\Switch\dutswitch_T5581-06.cmd
rem call F:\batch\switch\T5581-07\T5581-07.cmd
call D:\batch\Switch\dutswitch_T5581-08.cmd
call D:\batch\Switch\dutswitch_T5581-09.cmd
call D:\batch\Switch\dutswitch_T5581-10.cmd
rem call D:\batch\Switch\dutswitch_T5581-11.cmd
rem call F:\batch\switch\T5581-12\T5581-12.cmd
rem call D:\batch\Switch\dutswitch_T5581-13.cmd
call D:\batch\Switch\dutswitch_T5593-01.cmd
call D:\batch\Switch\dutswitch_T5593-02.cmd
call D:\batch\Switch\dutswitch_T5593-03.cmd
call D:\batch\Switch\dutswitch_T5593-04.cmd
call D:\batch\Switch\dutswitch_T5593-05.cmd
rem call F:\batch\switch\T5593-06\T5593-06.cmd
call D:\batch\Switch\QT5585-01.cmd
call D:\batch\Switch\QT5585-02.cmd
call D:\batch\Switch\dutswitch_UT560-01.cmd
call D:\batch\Switch\dutswitch_UT560-02.cmd
call D:\batch\Switch\dutswitch_UT560-03.cmd
call D:\batch\Switch\dutswitch_UT560-04.cmd
call D:\batch\Switch\dutswitch_UT560-05.cmd
2 发表于 2009-07-30 10:33 ·  中国 吉林 延边朝鲜族自治州 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
1,最稳妥的方法:将这些批处理合并到一个批处理中。
2,如果各个子批处理中不含call命令和变量延迟,可以使用start /w /b替代父批处理中的call命令。
3 发表于 2009-08-05 00:33 ·  中国 北京 中电华通通信有限公司
中级用户
★★
积分 216
发帖 129
注册 2007-02-14 07:26
19年会员
UID 79469
性别 男
状态 离线
在我的印象中 命令行没有这样的功能,无法判断程序是否已经结束
可以考虑用start 加延时来实现
start 1.exe
ping 127.1 -n3
start 2.exe
ping 127.1 -n 2
start 3.exe
要是嫌ping占资源 在论坛上找延时工具
延时时间 设置成程序运行完毕后时间
4 发表于 2009-08-11 12:31 ·  中国 广东 揭阳 电信
初级用户
★★
积分 131
发帖 72
注册 2008-02-24 14:31
18年会员
UID 111317
性别 男
状态 离线
start可以等待调用的程序结束后,再继续执行下一行命令的

而start对于批文件来说,是没用的,因为它最后调用的,还是cmd,而当前窗口不退出,进程中仍然还有cmd的存在,所以,用 start是行不通的

但是,用 call 是可以的,,,只是,你要在每个文件里面,都设置一个,让cmd返回到原来批文件的语句

这样,cmd才不会弄
论坛跳转: