【问题标题】:Running batch file, call another batch, ctrl+c out of that, then return to the first?运行批处理文件,调用另一个批处理,ctrl+c出来,然后返回第一个?
【发布时间】:2013-08-13 04:58:20
【问题描述】:

我有一个批处理脚本,它挂载一个 .vhd 文件并创建一个连接点,它调用另一个批处理脚本,它在安装的 vhd/连接点上运行一些东西。当该脚本完成后,它会返回到第一个批处理脚本并删除连接点,卸载 .vhd 然后退出。

问题是第二个脚本需要正确退出才能运行第一个脚本的其余部分,而大多数用户只需 ctrl+c 并关闭第二个脚本。

是否可以通过不允许 ctrl+c 取消或在调用发生后以某种方式重新启动第一个批处理文件来防止这种情况发生?

【问题讨论】:

  • 对用户的头部和肩部施加一点 4x2 可以解决这个问题。有一个break 命令,但它不会阻止用户停止批处理文件,而且它可能已经过时了。

标签: batch-file


【解决方案1】:

试试这个来启动第二个批处理文件:

start /b /w "" 2nd-batch.bat

【讨论】:

  • @foxidrive 谢谢。让我们看看,如果它可以帮助:)
  • 谢谢它没用,因为在第二个批处理文件(我没有写那个)之前我没有意识到它与其他程序做了一些相当复杂的事情,所以当它被终止时刚刚把你送回 c:\
【解决方案2】:

感谢 Endoro 的回答,尽管它对我不起作用,但它让我记住了 start,我总是忘记 start 而只是使用 call。无论如何,我找到的解决方案是这样做:

2>nul (
echo N|start /wait "" cmd /c C:\2nd-batch.BAT
)

它为 2nd-batch.bat 创建了一个新窗口,允许哑用户甚至通过 X 按钮退出它,它仍然完成 1st-batch.bat 的其余部分

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多