提示时如何自动回答(是/否)?

时间:2019-02-06 00:37:43

标签: batch-file

我的click.bat文件:

:main
@start /wait cmd.exe -/c ""C:\Users\MY_USER_NAME\Desktop\2.bat" "
goto :main

我的2.bat文件:

@echo off
echo Hello World!
@pause

我正在点击Click.bat,它们都在打开(这里没有问题)。

之后,我要关闭“ Hello World”!提示(2.bat)。

并提示输入Click.bat,问我^CTerminate batch job (Y/N)?

我想在此处自动回答(为N

(当答案为N时,2.bat如我所愿再次打开)。

First Second Third

1 个答案:

答案 0 :(得分:0)

我同意Mofi的观点,解决真正的问题总是比解决它好,但是有时候这是不可能的,或者您需要更快的解决方案。

与其被动等待,不如直到第二个过程完成,只需主动观察即可。如果它不再存在,请重新启动它。这样就没关系,如何第二个过程完成/退出/崩溃:

test1.bat

@echo off
title MyCommand
echo Hello World!
@pause
break>MyCommand.flag

test2.bat

start cmd /c

您不必start,因为仅||就已经开始了新的cmd进程。为进程指定一个唯一的标题,以便您可以检查它是否仍在运行。

find的工作方式是“如果先前的命令(find)失败了,则
tasklist是必需的,因为Test2.bat不会提供有用的错误级别。

注意:当第二个进程完成其任务时,您还需要一种方法来停止。
test1.bat完成后将写入一个空文件。显然,当进程在崩溃之前崩溃(或被强制终止)时,将不会创建该文件。
index.js只需在重新启动第二个进程之前检查文件是否存在。