找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 46631|回复: 8

[文本处理] [已解决]求助bat如何同时执行多个命令而其他命令顺序执行

[复制链接]
发表于 2015-9-28 16:00:21 | 显示全部楼层 |阅读模式
本帖最后由 00JTR00 于 2015-9-29 11:42 编辑

本人做的样本如下

1、*.exe是按顺序执行的
    @echo off
    a.exe /log #带有其他参数
    b.exe
    c.exe

2、将每个*.exe 作为一个bat后能够同时执行,但之后其他指令如copy,也同时执行,而我希望能够等bat执行完后再执行其他指令
    @echo off
    a.bat
    b.bat
    c.bat

     copy * *

评分

参与人数 1PB +2 收起 理由
pcl_test + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-9-28 19:21:44 | 显示全部楼层
本帖最后由 缱绻星光 于 2015-9-28 19:43 编辑

start好像可以!
发表于 2015-9-28 19:53:08 | 显示全部楼层
本帖最后由 回家路上 于 2015-9-28 19:56 编辑

1、知道几个exe执行时间最长的具体时间多长那个,就让主进程等那么长时间(当然这种就不保险了,万一意外到时间没执行完)

  1. @echo off
  2. echo;------开始--------
  3. start /b a.exe
  4. start /b b.exe
  5. start /b c.exe
  6. :: 主进程等这么长时间(比如最长的是12秒,你就等15秒)再往下执行
  7. ping -n 15 127.1 >nul
  8. echo;------继续往下--------
  9. pause
复制代码
2、不知道最长的具体时间,但是知道那个时间最长
        把执行时间最长的exe(比如是c.exe)放在最后,用call调用,其他两个用start /b调用

  1. @echo off
  2. echo;------开始--------
  3. start /b a.exe
  4. start /b b.exe
  5. call c.exe
  6. echo;------继续往下--------
  7. pause
复制代码
3、如果完全不能确定时间那就要用临时文件多个进程之间通信了。不满足再试吧O(∩_∩)O!

评分

参与人数 1技术 +1 收起 理由
pcl_test + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-9-28 21:58:14 | 显示全部楼层
回复 3# 回家路上


    现在已经用这种了,但是感觉这方法很土,求高科技
发表于 2015-9-28 22:48:36 | 显示全部楼层
本帖最后由 回家路上 于 2015-9-28 22:50 编辑

土... ...呵呵。
作为脚本语言,要的就是方便快捷。如果要复杂通用高级,鉴于调试难度,何不用编程语言呢。
发表于 2015-9-28 23:42:53 | 显示全部楼层
回复 4# 00JTR00


    批处理就不是个高科技,呵呵
发表于 2015-9-28 23:55:15 | 显示全部楼层
这个应该适合你。
  1. @echo off
  2. start /b a.exe
  3. start /b b.exe
  4. start /b c.exe
  5. :waiting
  6. ping 127.1 -n 5 >nul
  7. set n=0
  8. tasklist /nh | find /i "a.exe" >nul &&echo ×. a在运行 && set n=1
  9. tasklist /nh | find /i "b.exe" >nul && echo ×. b在运行 && set n=1
  10. tasklist /nh | find /i "c.exe" >nul && echo ×. c在运行 && set n=1
  11. if %n% neq 0 (
  12.     color 4f
  13.     echo -------------------------------------------------
  14.     echo 检测以上进程还在运行,等待5秒进行扫描....
  15.     echo --------------------------------------------------
  16.     goto :waiting
  17. )
  18. echo;------继续往下--------
  19. rem 省略一万个字.....
  20. pause
复制代码

评分

参与人数 1PB +2 收起 理由
pcl_test + 2 乐于助人

查看全部评分

 楼主| 发表于 2015-9-29 09:34:46 | 显示全部楼层
回复 7# 小智BAT


    这个好,我实验下
发表于 2015-10-3 00:37:48 | 显示全部楼层
这个好,我实验下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 14:16 , Processed in 0.021953 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表