所以我注意到当我启动批处理文件并进入用户提示时,如果"输入"是第一个按下的键,文件将终止。如果"输入"在第二次或后续尝试时按下,文件正常运行(并再次按照goto返回菜单)。为什么会发生这种情况和/或如何防止它发生?我尝试使用暂停和超时,但垃圾邮件输入仍然会崩溃。
要使用下面的代码解释,如果按下A,我们转到:hello。另外我们回到:菜单。这适用于除enter之外的任何键。如果你点击进入你崩溃。但如果您点击其他内容,请重新加载菜单,然后输入重新加载。
以下示例代码:
@echo off
:menu
echo A: Hello
set /p _input=Choice?
if %_input%==A goto hello
goto menu
:hello
echo Hello!
pause
exit
答案 0 :(得分:-1)
@echo off
setlocal EnableDelayedExpansion
:menu
echo A: Hello
set /p _input=Choice?
if /i "%_input%"=="" cls & goto :menu
if %_input%==A goto hello
goto menu
:hello
echo Hello!
pause
exit