我正在使用批处理脚本进行比较,我可以搜索字符串并成功说明它是否存在,但是当我的字符串有两个部分时我遇到了麻烦:请参阅下面的代码,
@ECHO off
SET key0="First Number"="1000"
SET key1="First Number"
SET key2==
SET key3="1000"
SET key4=%key1%%key2%%key3%
FOR /f "tokens=*" %%a in (FILE.TXT) do call :processline %%a
findstr /X %key4% FILE.txt
if %errorlevel%==0 (
ECHO Key Exists
) ELSE (
ECHO NO
)
PAUSE
goto :eof
如果我搜索key0或key4,我得到的结果为NO。但是,如果我搜索key1,key2或key3,我会获得Key Exists ....
关于我如何在引号中搜索包含两个单独单词的字符串的任何想法?
答案 0 :(得分:1)
一个有效的解决方案是:
@ECHO off
SET key0=\"First Number\"=\"1000\"
SET key1=\"First Number\"
SET key2==
SET key3=\"1000\"
SET key4=%key1%%key2%%key3%
findstr /X /C:"%key4%" FILE.TXT
if %errorlevel%==0 (
ECHO Key Exists
) ELSE (
ECHO NO
)
PAUSE
/C:
必须用于文字字符串搜索,而不是正则表达式搜索。我使用了Microsoft的Findstr文档,并在输入findstr /?