는 @AlexP, 당신의 구문에서 언급 한 바와 같이 set /p
의 당신이 set
< 공간>/P < 공간> UserInput 사용자 =
를 사용할 필요가
잘못 set/p
이 아니며이후에 =
표지가 있어야합니다. 134,이름
SET /P variable=[promptString]
SET & IF ELSE 또한 CHOICE
를 사용하는 방법에 대해 자세히보기 (편집 - 에러 체크를위한 코드 오해의 소지가 제거)를 사용하여 메뉴
샘플 배치 Choice
및 SET /P
IF Else
메뉴에서 옵션을 선택하십시오.IF ELSE 사용
예 1 (입력 에러 체크) CHOICE 명령(오류 입력 선택)
를 사용
@echo off
::Your Menu to choose from
:menu
cls
echo ==============MENU==============
echo 1.command menu item 1
echo 2.command menu item 2
echo 3.command menu item 3
echo.
set /p userinput=
if %userinput%==1 (
goto 1
) else if %userinput%==2 (
goto 2
) else if %userinput%==3 (
goto 3
) else (
goto error
)
:1
echo command 1
pause>nul
goto menu
:2
echo command 2
pause>nul
goto menu
:3
echo command 3
pause>nul
goto menu
::Incorrect Input go back to menu
:error
echo Incorrect User Input
pause>nul
goto menu
:end
exit
예 2
@echo off ::Your Menu to choose from :menu cls echo ==============MENU============== echo 1.command menu item 1 echo 2.command menu item 2 echo 3.command menu item 3 ::check and limit user input to selection choice /C 123 /N /M "Your Selection" IF "%ERRORLEVEL%"=="1" goto 1 IF "%ERRORLEVEL%"=="2" goto 2 IF "%ERRORLEVEL%"=="3" goto 3 :1 echo command 1 pause>nul goto menu :2 echo command 2 pause>nul goto menu :3 echo command 3 pause>nul goto menu
등호가 없습니다 :'set/P menuInput ='(따옴표 필요 없음). 변수 이름과'= '사이에 공백을 두지 마십시오. 이름의 일부가됩니다! – aschipfl