[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] [已解决]多个批处理,如何寻找最后运行结束的那个?

本帖最后由 jzsgyml 于 2011-4-18 12:25 编辑

三个批处理“1.bat”“2.bat”“3.bat”,某段时间程序会全部调用它们,但是不确定调用的顺序,以及这三个批处理运行结束的先后顺序。
现在的要求是,最后结束的批处理,能够判断自己是最后结束的,然后执行断开网络,断开后结束这三个批处理进程
  1. rasdial adsl /disconnect >nul
  2. taskkill /f /t /im cmd.exe
复制代码
我个人考虑的解决方案是,在三个批处理末尾都加上一个判断自己是不是最后结束的代码,思路如下
  1. echo 结束>>"D:\finish.txt" 运行完毕就写入一行,用来判断是否3个批处理都写入了1行
  2. 判断"D:\finish.txt"的行数是否达到3行
  3. 如果达到3行,执行
  4. 清空"D:\finish.txt",让他下一次调用能够循环
  5. rasdial adsl /disconnect >nul断网
  6. taskkill /f /t /im cmd.exe关闭三个批处理进程
  7. 如果没有达到3行,说明这个批处理是第一个,或者第二个结束的
  8. 执行等待pause,让最后结束的来关闭全部cmd窗口
复制代码
求下思路实际代码,或者咨询下各位有更好的解决方案?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

因为程序暂停运行然后去调用三个批处理,是监控这三个批处理的进程是否存在,如果提前结束先完成的批处理进程,程序会马上启动,就出错了,所以要等3个都完成了再一起结束进程,我测试测试,谢谢!

TOP

返回列表