그래서 사용자에게 선택을 요청합니다. 이 질문의 요점은 사용자가 입력없이 방금 입력 한 경우를 포착하는 것입니다. 내 계획은 사용자가 아무것도 입력하지 않고 그냥 입력했는지 알아내는 것입니다. 그렇다면 유효한 옵션이 아님을 표시하고로 돌아가십시오 :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
. Choice 명령은 사용자가 정의한 제한된 키 집합에만 응답하므로 그 대답은 항상 정확합니다.
@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] 삭제
몇 마디 만하겠습니다