制作批处理文件时,我仍然没有学会如何使问题覆盖倒计时。我的意思是,比如你有一个这样的提问题序列:
set /p LeavingQuestion1=
if %LeavingQuestion1%==15 goto Question2
有没有办法让我可以实现这个问题的倒计时,所以如果他们在5秒钟内没有回答问题,那就转到MainMenu。
答案 0 :(得分:1)
答案是1个字符长吗?如果是这样,你可以这样做:
REM Asks for input. You might want to add on /N to hide the prompt.
choice /c abcz /t 5 /d z
REM Checks if the time ran out, otherwise goes to next question...
if %errorlevel%==4 goto MainMenu ELSE goto question2
将abcz
替换为可能的选择。每个字母长1个字母。例如。如果你做abcz,它会要求a,b,c或z。请注意,您可能希望隐藏z,因为如果您的时间不够,这将是自动选择的答案。
/t 5 /d z
如果等待时间超过5秒,则会选择z
。
choice
输出的方式是%errorlevel%
选择的选项编号。所以,如果它没时间了,那么第四个答案是z %errorlevel%
。这就是为什么它检查错误级别为4.此外,如果您想检查第一个选项(在本例中为a
),您可以执行if %errorlevel%==1
和if %errorlevel%==2
第二种选择(b)等。
对不起,如果这有点令人困惑;请choice /?
获取更多信息。