Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 批量检查变量是否为特定值_Variables_Batch File_If Statement - Fatal编程技术网

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