我有几行文字。然后我有一个带有测试词的列表。我想查找文本的每一行,并检查其中是否有测试词之一。 预先使用以下命令可以很好地解决此问题:
IF not "!stringToTest:%searchstring%=!"=="!stringToTest!"
但是,由于我嵌套了循环,现在这似乎更加复杂了?
我尝试为我的问题创建一些MWE:
@echo off
setlocal enabledelayedexpansion
set /a counterPC=0
set "listPC=Win10,Motherboard,USB-Port,Core"
FOR %%G in (%listPC%) do (
set PCsearchVal[!counterPC!]=%%G
set /a counterPC+=1
)
set /a counterPC-=1
set "dummyline=Environment,1234,ZUIOP,Core"
FOR %%G in (%dummyline%) do (
set "stringToTest=%%G"
echo String to Test: !stringToTest!
FOR /l %%I in (0,1,%counterPC%) do (
set "searchstring=!PCsearchVal[%%I]!"
echo Test for this String: !searchstring!
IF not "!stringToTest:%searchstring%=!"=="!stringToTest!" echo Searchstring is in String to Test
)
)
endlocal
pause
在此,他始终输入IF条件。我知道可以使用FINDSTR
解决此问题,但是在我所有其他代码中,我都使用了上面的search-strategy liek。我可能会发现一个小错误?提前非常感谢-