使用带变量的IF的批处理文件帮助

时间:2014-07-29 15:43:52

标签: batch-file if-statement

好的,自从我使用批处理文件以来已经有一段时间了,所以我承认我有点生疏了。我熟悉获取和输入并将其用作变量,我知道如何使用IF命令,只是在设置(记住)使用它的最佳方法时遇到一些麻烦。基本上我想要做的是让用户输入一个数字,如果该数字是大约18个不同数字之一继续到文件的另一部分,如果它不是其中之一,那么继续到另一部分。

我的问题是,我是否需要制作18种不同的IF语句,或者有没有办法将所有这些语句与一种语句进行比较?

3 个答案:

答案 0 :(得分:1)

@echo off
setlocal EnableDelayedExpansion

set numberList=2 4 6 8 10 33 212 467
set /P "input=Enter your number: "
if "!numberList:%input%=!" neq "%numberList%" (
   echo Input matches one of the numbers in list
) else (
   echo Input is no one of the list
)

答案 1 :(得分:0)

@echo off

set/p var=What's your choice? 

           set OR=(goto :lable) else if "%var%" ==

if "%var%" == "18" %OR% "296" %OR% "7239" %OR% "whatever" goto :lable
exit/b

:lable
echo worked
pause

答案 2 :(得分:0)

测试一下:

@echo off
set /p "input=Enter your number: "
set "yes="
for %%a in (2 4 6 8 10 212 33 467) do if "%input%"=="%%a" set yes=1
if defined yes (
   echo input matches
) else ( 
   echo no match
)
pause