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

[已解决]批处理怎样同时运行两个CALL?

  1. :1
  2. dir
  3. goto 3
  4. :2
  5. start xx.exe
  6. goto 3
  7. :3
  8. echo.
复制代码
求问如何让1、2同时运行,并在运行完后至3。
1

评分人数

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

把第一个goto 3去掉就好了。
另外,批处理同一时间只能运行一个任务吧,除非双线程。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

哦~ 想法没说清。

是这样的。
  1. :all
  2. :1
  3. dir
  4. goto 3
  5. :2
  6. start xx
  7. goto 3
  8. :3
  9. set /p go==^>
  10. if %go%==1 goto 1
  11. if %go%==2 goto 2
  12. if %go%==3 goto all
复制代码
如此这样,当3的时候可以执行 1 和 2。而当1时就只执行1,2就2。
如果去了 GOTO 那不就没法操作1和2了吗~

TOP

3# wolfan


那你现在的问题是什么呢?

TOP

本帖最后由 CrLf 于 2011-7-19 23:03 编辑

可以用 if 来判断要不要 goto 嘛,比如修改成这样:
  1. :1
  2. ...
  3. if %go%==1 goto 3
  4. :2
  5. ...
  6. :3
  7. set /p go=^>
  8. ...
复制代码

TOP

5# CrLf

大人能给个详细示例不~             人家小白菜~  刚刚试了下,不成功啊。

TOP

也可以:
=1 call :1
=2 call :2
=3 call :1&&call :2&&call :3

每个标签后用eof回去。

TOP

本帖最后由 CrLf 于 2011-7-20 00:00 编辑

6# wolfan
  1. :all
  2. :1
  3. dir
  4. if not "%go:"=@%"=="3" goto 3
  5. :2
  6. start xx
  7. :3
  8. set go=
  9. set /p go==^>
  10. set "go=%go:"=@%"
  11. if "%go%"=="1" goto 1
  12. if "%go%"=="2" goto 2
  13. if "%go%"=="3" goto all
复制代码

TOP

7# bluewing009


花喵~ 用 && 没用啊,老是错误。 不过改用 &后到是OK了。
多谢~

多谢版主~

TOP

返回列表