因此,我要求用户进行选择。这个问题的重点是要了解用户是否在没有任何输入的情况下点击了刚刚输入的内容。我的计划是找出用户是否未输入任何内容,然后仅按Enter键。如果是这样,则显示该选项无效,然后返回:START
。以下代码不起作用-特别是空输入和仅包含space
字符的输入。如果用户做了这个无效的事情,那么我只想显示一条消息,说它是空的。任何有关如何处理此问题的建议将不胜感激。
@echo off
:START
cls
echo Choose your option & echo.
echo [P] play
echo [R] rules
echo [M] main menu
echo [E] exit
set /p "cho=->"
if %cho%==e (goto EXIT
) else if /I %cho%==m (goto MAINMENU
) else if /I %cho%==r (goto GAMERULES
) else if /I %cho%==p (goto GAMERULES
) else if %cho%=="" (goto EMPTYINPUT
) else if %cho%==" " (goto EMPTYINPUT
) else cls
echo That is not valid
pause
:EMPTYINPUT
echo This is not a valid option.
pause
goto START
如果你用你可能避免所有的选项标识的问题choice
,而不是set /P
。选择命令将仅响应您定义的有限键集,因此其答案始终是正确的。
@echo off
:START
cls
echo Choose your option & echo.
echo [P] play
echo [R] rules
echo [M] main menu
echo [E] exit
choice /C PRME /N /M "->"
goto option-%errorlevel%
:option-1 PLAY
echo In play
pause
goto start
:option-2 GAMERULES
echo In game rules
pause
goto start
:option-3 MAINMENU
echo In main menu
pause
goto start
:option-4 EXIT
echo Bye...
goto :EOF
有关更多详细信息,请键入: choice /?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句