【发布时间】:2012-07-23 05:36:43
【问题描述】:
我了解如何使用call 命令从父文件中调用嵌套批处理文件,因为这方面有很多资源:
- CALL
- CALL (SS64)
- Bat file termination
但是,我不明白为什么从另一个调用另一个批处理文件会终止父级。
举一个不太抽象的例子,假设我有一个批处理文件将单独的批处理文件“链接”在一起,而我错误地没有在每一行前面加上 call:
foo.bat
bar.bat
这只会执行 foo.bat 然后退出。要正确执行这两个命令,我必须在每个语句之前添加 call:
call foo.bat
call bar.bat
为什么第一个功能仍然存在?怎么还没改?我注意到call 是在 1980 年代后期发布的 MS-DOS 3.3 中引入的,那么这个功能是否仍然存在以实现反向兼容?
我想不出它的任何(实际)用途,但也许我太习惯于“新”编程技术了。
【问题讨论】:
标签: batch-file cmd