【发布时间】:2012-11-17 08:26:40
【问题描述】:
我试图从另一个批处理文件中调用一个批处理文件,在第二个批处理文件执行后,控制权应该返回到第一个批处理文件,它应该恢复执行。 目前我在我的父批处理文件中使用以下命令:
call "cmd /c start /b %ROOT_HOME%\folder1\bin\bat1.bat"
只要 %ROOT_HOME% 的路径中没有空格,它就可以正常工作。
如果路径中包含空格,上述命令将失败。
我已经尝试了 cmd、start、call 的所有组合,但仍然无法达到预期的效果。
另外 bat1.bat 里面没有 exit 并且不能修改。 所以单独使用call只会执行子批处理文件,不会返回父批处理文件。
【问题讨论】:
-
为什么你用这么复杂的线路来打电话?为什么不简单
call?你的电话应该像这样call cmd /c start /b "%ROOT_HOME%\folder1\bin\bat1.bat" -
调用只需要一个参数..因此要执行多个内部命令,它们必须作为字符串(在“”内)给出。试过你的方法,不行。 bat1 没有被执行。
标签: cmd batch-file