中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-24 22:06
47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 如果实现运行A.bat调用B.bat完成后再运行C.bat
可打印版本  2,718 / 18
第1楼 ivanisme 发表于 2007-03-20 05:19
初级用户 发帖 13 积分 30
如果实现运行A.bat调用B.bat完成后再运行C.bat
现有三个bat文件,A、B、C。
A的里面有运行B C的功能。
想实现下面的功能:
运行A.bat Call B.bat B.bat运行成功 再运行 C.bat


总之就是 按照 A、B、C 的顺序运行,不能B.bat没运行完,C.bat就运行了


PS:DOS里有睡眠的概念吗?

[ Last edited by ivanisme on 2007-3-20 at 09:16 AM ]
第2楼 Kinglion 发表于 2007-03-20 06:02
铂金会员 发帖 1,924 积分 5,798 来自 金獅電腦軟體工作室
知道也不回答你,你注册的时候没有好好看看论坛新手必读那个帖子吗?
第3楼 ivanisme 发表于 2007-03-20 06:15
初级用户 发帖 13 积分 30
我吐血呀
第4楼 lxmxn 发表于 2007-03-20 06:17
版主 发帖 4,938 积分 11,386

  A.bat里面的代码就一句:call B.bat&&call C.bat;

  兄说的睡眠是延时的意思么?
第5楼 Kinglion 发表于 2007-03-20 06:26
铂金会员 发帖 1,924 积分 5,798 来自 金獅電腦軟體工作室
建议楼主将主题改为以下:
如果实现运行A.bat调用B.bat完成后再运行C.bat
第6楼 ivanisme 发表于 2007-03-20 07:38
初级用户 发帖 13 积分 30
Originally posted by lxmxn at 2007-3-19 05:17 PM:

  A.bat里面的代码就一句:call B.bat&&call C.bat;

  兄说的睡眠是延时的意思么?


如果B.bat里含有调用exe就不行了呀


睡眠是延时就是线程Sleep
第7楼 lxmxn 发表于 2007-03-20 07:49
版主 发帖 4,938 积分 11,386
Originally posted by ivanisme at 2007-3-19 18:38:

如果B.bat里含有调用exe就不行了呀

睡眠是延时就是线程Sleep


  含有exe文件可以用start命令来调用;start /min "" exefile.exe

  哦,这个可以用ping命令来简介实现延时;ping 127.1 5 >nul 2>nul,这样可以延时大约4秒钟。
第8楼 ivanisme 发表于 2007-03-20 21:48
初级用户 发帖 13 积分 30
现在的状况是B.bat里有调用exe的东西。
C.bat是调用其它的bat文件
A.bat仍然调用 B.bat、C.bat (要B执行完,C再执行)

lxmxn老兄有什么好的方法呀?
第9楼 lxmxn 发表于 2007-03-20 23:03
版主 发帖 4,938 积分 11,386

  几个批处理可以干的事情,用一个批处理也可以完成,你就说说你最终是要达到什么目的吧。
第10楼 ivanisme 发表于 2007-03-20 23:26
初级用户 发帖 13 积分 30
这个批处理的功能是:
先调用一个exe程序(这个需要时间),然后再运行一个外在的bat文件(别人Supply),如果exe没启动好就运行bat就会报错。所以bat必需在exe后运行。

不知我表达的lxmxn能明白不?
第11楼 lxmxn 发表于 2007-03-20 23:31
版主 发帖 4,938 积分 11,386
  exe 文件运行之后,延迟一下,大约4秒钟,然后再运行你的 bat 文件。
第12楼 ivanisme 发表于 2007-03-21 00:11
初级用户 发帖 13 积分 30
呵呵! 先谢谢lxmxn的回复

试了下MS可以 就是对-n 5有些疑问 查了下ntcmds 不得其解
时间是如何控制的,难道不可以控制吗?

小生愚钝,望lxmxn赐教!
第13楼 free2 发表于 2007-03-21 01:25
初级用户 发帖 10 积分 124
如果是我,我就在 B.BAT 中 CALL C.BAT ,再把剩下的A.BAT C/P 到 C.BAT 的结尾
第14楼 ivanisme 发表于 2007-03-21 02:10
初级用户 发帖 13 积分 30
Originally posted by free2 at 2007-3-20 12:25 PM:
如果是我,我就在 B.BAT 中 CALL C.BAT ,再把剩下的A.BAT C/P 到 C.BAT 的结尾

你没搞明白呀
第15楼 lxmxn 发表于 2007-03-21 02:16
版主 发帖 4,938 积分 11,386

  Re ivanisme:

  ping 命令有很多参数,其中有-n和-w两个参数,-n参数是表示发送的ICMP数据包的次数,而-w参数是表示超时的时间间隔的,意思就是如果ping不通指定的主机,在多少秒之后重新发送数据包。默认状态下,-w参数的值是1000,代表一秒,而-n参数指定的是发送的次数,所以指定了-n参数,就可以决定延迟的多少了,利用植树原理,你要延时n秒,那么参数-n就指定为n+1就行了。

  ping 127.1 -n 5 这里的“-n 5”表示指定-n参数的值为5,所以大约延迟4秒钟。


[ Last edited by lxmxn on 2007-3-20 at 01:34 PM ]
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023