2014-02-21 23 views
2

我無法找到解決辦法(或太複雜,我理解),我想通過輸入批量檢查,如果變量是特定值

@echo off 
set /p var="Choose (AV, RN or I) : " %=% 
echo %var% 

設置變量,如果值是這三個之一然後繼續(然後我將使用該變量來設置路徑,複製,移動,開始...),否則轉到退出。

回答

3
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

2

實現這一目標是不檢查的變量在所有,但在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