如何仅终止内部批处理作业

时间:2016-07-06 19:29:36

标签: windows batch-file scripting terminate control-c

假设在.cmd批处理脚本中运行需要一些.bat文件。此内部.bat文件在本地主机上具有一系列用户交互,并且只能使用ctrl + c结束。

问题是:在内部脚本终止后,有没有办法让外部批处理脚本恢复?或者ctrl + c结尾都是全部?

我尝试过给内部脚本一个不同的出路,只是被告知我不允许更改该文件。我也做了大量的研究,但没有找到解决方案。如果我忽略了什么,请原谅我!我想避免弹出两个窗口或无关的终止消息。

1 个答案:

答案 0 :(得分:1)

我能想到处理这个的唯一方法是使用outer.cmd中的以下行来调用inner.bat - 缺点是接收一个新的命令提示符窗口来执行{{ 1}}:

inner.bat

(交换start "" /WAIT cmd /C "inner.bat" start不起作用,因为新窗口可能会无意中保持打开状态。)

请注意,对于cmd,所有控制台输入和输出都是通过新窗口处理的,因此inner.bat的任何重定向(例如outer.cmd)都不会包含{{1}的数据。 1}}。