批处理脚本调用外部bat后终止运行,如何解决?
批处理调用外部bat后后续代码不执行的解决办法
在批处理里直接执行外部.bat文件时,外部脚本会接管当前的执行进程,执行完成后直接退出,不会回到原脚本继续运行后续代码——这就是你遇到的问题:file.bat跑完后,echo test和循环逻辑都没机会执行。
解决方法很简单,用call命令调用外部bat:
把原代码里的file.bat改成call file.bat,修改后的函数代码如下:
:function call file.bat echo test goto:function
另外,原代码里标签后面的括号是多余的,批处理标签不需要加括号,直接写:function即可。
如果你的场景不需要等待file.bat执行完成就想继续原脚本逻辑,也可以用start file.bat,但这种情况下原脚本不会等外部脚本结束,会直接往下走,可根据自身需求选择。
内容的提问来源于stack exchange,提问作者danfixt
相关产品推荐
相关产品推荐

