Variables 批量检查变量是否为特定值
我找不到解决方案(或太复杂,我无法理解),我想通过输入设置变量Variables 批量检查变量是否为特定值,variables,batch-file,if-statement,Variables,Batch File,If Statement,我找不到解决方案(或太复杂,我无法理解),我想通过输入设置变量 @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 "%va
@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%"
这正是你想要做的,你不会透露
if
后面的/i
表示忽略大小写。如果您坚持案例应该匹配,请使用If“..
-即,删除/i
实现此目的的最简单方法是根本不检查变量,而是在调用
命令中使用其值,并将错误消息重定向到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