我已经设置了这样的数组:
SET ORG[0]=Microsoft
SET ORG[1]=Google
SET ORG[2]=Yahoo
SET ORG[3]=Snapchat
SET ORG[4]=Whatsapp
SET ORG[5]=Facebook
然后我在其中一个文件中查找以获取存储在文件中的值:
For /F Tokens^=10^ Delims^=^" %%A in ('Find /I "%Client%"^<"C:\Env\Test\test.xml"') Do Echo "%%A" & SET "ORG=%%A"
其中ORG
可以是上述任何数组值,具体取决于文件中存储的内容。例如,对于此实例说:
ECHO %ORG% gives Google.
我想将从文件中获取的%ORG%
值与设置的数组值进行比较,如果它等于,那么我希望我的批处理脚本能够:
GOTO :Action Else
ECHO "Client Name Not Found"
我不确定如何将变量与数组中的值进行比较?
答案 0 :(得分:2)
for /f "tokens=1*delims==" %%a in ('set ORG[ 2^>nul ') do if "%%b"=="%ORG" goto action
echo Client not found.
set
命令列出以[{1}}格式ORG[
org[3]=Snapchat
格式delims
开始=
的现有变量,仅将ORG[3]
分配给{ {1}}和%%a
到Snapchat
。
如果找到这样的匹配,则客户端在列表中有效。如果%%b
耗尽所有条目,则处理只会进入文件中的下一条指令。
要使比较不区分大小写,请使用for
代替if /i