标题: [文件操作] [已解决]call调用多个批处理执行完第一个后如何不退出 [打印本页]
作者: freesoft00 时间: 2016-8-12 19:30 标题: [已解决]call调用多个批处理执行完第一个后如何不退出
本帖最后由 freesoft00 于 2016-8-14 14:17 编辑
1.bat- @echo off
- pushd %~dp0
- echo www
- exit
复制代码
2.bat- @echo off
- pushd %~dp0
- echo eee
- exit
复制代码
3.bat- @echo off
- pushd %~dp0
- call 1.bat
- call 2.bat
复制代码
3.bat- @echo off
- pushd %~dp0
- call cmd /c 1.bat
- call cmd /c 2.bat
复制代码
3.bat调用1.bat和2.bat,如果是直接call的话,执行第一个完成后就退出了执行不到第二个。那么在call调用的时候加上cmd /c这样是否可以?这样的语法符合要求吧?
作者: WHY 时间: 2016-8-12 19:41
把 1.bat 和 2.bat 中的exit删除,或改成exit /b 或改成 goto :EOF
作者: freesoft00 时间: 2016-8-12 19:48
本帖最后由 freesoft00 于 2016-8-12 19:49 编辑
exit /b是不是所有批处理结尾都可以写成这个?不单单是我上面举的例子,就是说以后写批处理都写成exit /b这样
call cmd /c 1.bat这样的用法是否正确?也就说也可以没有什么错误?
谢谢!
作者: WHY 时间: 2016-8-12 21:05
exit /b 是退出脚本本身而不会退出cmd
call cmd /c 1.bat这样的用法是否正确?如果能得到你想要的结果,那这种用法肯定就是对的。
不同的是这样干会多开启一个CMD进程来运行1.bat而已
作者: Batcher 时间: 2016-8-13 22:03
回复 3# freesoft00
把exit全部删掉,也没有必要添加 exit /b 或 goto :eof
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |