我無法找到解決辦法(或太複雜,我理解),我想通過輸入批量檢查,如果變量是特定值
@echo off
set /p var="Choose (AV, RN or I) : " %=%
echo %var%
設置變量,如果值是這三個之一然後繼續(然後我將使用該變量來設置路徑,複製,移動,開始...),否則轉到退出。
我無法找到解決辦法(或太複雜,我理解),我想通過輸入批量檢查,如果變量是特定值
@echo off
set /p var="Choose (AV, RN or I) : " %=%
echo %var%
設置變量,如果值是這三個之一然後繼續(然後我將使用該變量來設置路徑,複製,移動,開始...),否則轉到退出。
if /i "%var%"=="AV" goto av
if /i "%var%"=="RN" goto rn
if /i "%var%"=="I" goto i
echo illegal input "%var%"
相當你想從那裏做什麼,你不透露。
/i
之後的if
表示 - 忽略大小寫。如果你堅持的情況下應該匹配,使用if "...
- 也就是說,除去/i
實現這一目標是不檢查的變量在所有,但在call
命令中使用它的值與重定向到錯誤信息的最簡單方法nul
。這樣,如果變量具有某些有效值,則會調用相應的例程;否則,什麼也沒有發生:
@echo off
set /p var="Choose (AV, RN or I) : " %=%
echo %var%
call :%var% 2> NUL
goto :EOF
:AV
echo Selected: AV
exit /B
:RN
echo Selected: RN
exit /B
:I
echo Selected: I
exit /B