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

[文件操作] [已解决]call调用多个批处理执行完第一个后如何不退出

[复制链接]
发表于 2016-8-12 19:30:10 | 显示全部楼层 |阅读模式
本帖最后由 freesoft00 于 2016-8-14 14:17 编辑

1.bat
  1. @echo off
  2. pushd %~dp0
  3. echo www
  4. exit
复制代码
2.bat
  1. @echo off
  2. pushd %~dp0
  3. echo eee
  4. exit
复制代码
3.bat
  1. @echo off
  2. pushd %~dp0
  3. call 1.bat
  4. call 2.bat
复制代码
3.bat
  1. @echo off
  2. pushd %~dp0
  3. call cmd /c 1.bat
  4. call cmd /c 2.bat
复制代码
3.bat调用1.bat和2.bat,如果是直接call的话,执行第一个完成后就退出了执行不到第二个。那么在call调用的时候加上cmd /c这样是否可以?这样的语法符合要求吧?

评分

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

查看全部评分

发表于 2016-8-12 19:41:36 | 显示全部楼层
把 1.bat 和 2.bat 中的exit删除,或改成exit /b 或改成 goto :EOF
 楼主| 发表于 2016-8-12 19:48:13 | 显示全部楼层
本帖最后由 freesoft00 于 2016-8-12 19:49 编辑

exit /b是不是所有批处理结尾都可以写成这个?不单单是我上面举的例子,就是说以后写批处理都写成exit /b这样
call cmd /c 1.bat这样的用法是否正确?也就说也可以没有什么错误?
谢谢!
发表于 2016-8-12 21:05:33 | 显示全部楼层
exit /b 是退出脚本本身而不会退出cmd
call cmd /c 1.bat这样的用法是否正确?如果能得到你想要的结果,那这种用法肯定就是对的。
不同的是这样干会多开启一个CMD进程来运行1.bat而已

评分

参与人数 1技术 +1 收起 理由
freesoft00 + 1 +1

查看全部评分

发表于 2016-8-13 22:03:08 | 显示全部楼层
回复 3# freesoft00


    把exit全部删掉,也没有必要添加 exit /b 或 goto :eof

评分

参与人数 1技术 +1 收起 理由
freesoft00 + 1 +1

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 11:24 , Processed in 0.018337 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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