如何捕获事件超时中按下的键(批处理)

时间:2013-02-03 02:51:05

标签: timeout cmd

我在cmd批处理中使用了超时事件,但是当它超出时间时,如何捕获用户按下事件的键?或者知道时间已经过去了?

可能是这样:

@echo off
echo "Please press anykey to continue or Program will exit"
timeout /t 5
(
     if(timeout == true and keypress != "null")(
           goto continue         
     ) else (
           exit
     )
)
P / S:抱歉在这里使用了一些java代码,因为我仍然无法想象它在cmd批处理中是如何工作的(googled it但仍然不能。)

请帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

另一个选择是选择命令。

choice /c abcd /n /t 5 /d defaultchoice /m "Please press a or b or c or d to continue or Program will exit"
if errorlevel 1 set choice=a
if errorlevel 2 set choice=b
if errorlevel 3 set choice=c
if errorlevel 4 set choice=d

选择命令的缺点是您无法按任意键,您必须设置用户能够按下的所有键。但是,可能有更好的解决方案。

/ t用于超时

/ d是默认选择,例如/d a

/ n隐藏选项列表

/ c abcd将可用选项设置为a,b,c和d

为区分大小写添加/ cs