标题: [已解决]批处理怎样同时运行两个CALL? [打印本页]
作者: wolfan 时间: 2011-7-17 23:08 标题: [已解决]批处理怎样同时运行两个CALL?
- :1
- dir
- goto 3
- :2
- start xx.exe
- goto 3
-
- :3
- echo.
复制代码
求问如何让1、2同时运行,并在运行完后至3。
作者: cjiabing 时间: 2011-7-18 10:48
把第一个goto 3去掉就好了。
另外,批处理同一时间只能运行一个任务吧,除非双线程。
作者: wolfan 时间: 2011-7-19 22:37
哦~ 想法没说清。
是这样的。- :all
- :1
- dir
- goto 3
- :2
- start xx
- goto 3
-
- :3
- set /p go==^>
- if %go%==1 goto 1
- if %go%==2 goto 2
- if %go%==3 goto all
复制代码
如此这样,当3的时候可以执行 1 和 2。而当1时就只执行1,2就2。
如果去了 GOTO 那不就没法操作1和2了吗~
作者: CUer 时间: 2011-7-19 22:43
3# wolfan
那你现在的问题是什么呢?
作者: CrLf 时间: 2011-7-19 23:02
本帖最后由 CrLf 于 2011-7-19 23:03 编辑
可以用 if 来判断要不要 goto 嘛,比如修改成这样:- :1
- ...
- if %go%==1 goto 3
- :2
- ...
- :3
- set /p go=^>
- ...
复制代码
作者: wolfan 时间: 2011-7-19 23:16
5# CrLf
大人能给个详细示例不~ 人家小白菜~ 刚刚试了下,不成功啊。
作者: bluewing009 时间: 2011-7-19 23:18
也可以:
=1 call :1
=2 call :2
=3 call :1&&call :2&&call :3
每个标签后用eof回去。
作者: CrLf 时间: 2011-7-19 23:59
本帖最后由 CrLf 于 2011-7-20 00:00 编辑
6# wolfan - :all
- :1
- dir
- if not "%go:"=@%"=="3" goto 3
- :2
- start xx
-
- :3
- set go=
- set /p go==^>
- set "go=%go:"=@%"
- if "%go%"=="1" goto 1
- if "%go%"=="2" goto 2
- if "%go%"=="3" goto all
复制代码
作者: wolfan 时间: 2011-7-20 11:52
7# bluewing009
花喵~ 用 && 没用啊,老是错误。 不过改用 &后到是OK了。
多谢~
多谢版主~
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |