批处理文件:查找子字符串是否在字符串中(不在文件中)第2部分 - 使用变量

时间:2013-07-11 20:16:52

标签: string batch-file substring batch-processing findstr

在Windows批处理文件中,我有一个字符串'abcdefg'。我想检查字符串中是否有'bcd',但我也希望每个都在变量中,或传入字符串的参数。

此解决方案接近,但使用常量而不是变量。 Batch file: Find if substring is in string (not in a file)

2 个答案:

答案 0 :(得分:8)

尝试一下:

set "var=abcdefg"
set "search=bcd"
CALL set "test=%%var:%search%=%%"
if "%test%"=="%var%" (echo %search% is not in %var%) else echo %search% in %var% found


set "var=abcdefg"
set "search=bcd"
echo %var%|findstr /lic:"%search%" >nul && echo %search% found || echo %search% not found

答案 1 :(得分:3)

解决方案是使用FindStr和NULL重定向>nul

SET var=%1
SET searchVal=Tomcat
SET var|FINDSTR /b "var="|FINDSTR /i %searchVal% >nul
IF ERRORLEVEL 1 (echo It does't contain Tomcat) ELSE (echo It contains Tomcat)

另存为test.bat并使用要搜索的参数执行,如下所示:test Tomcat7

C:\>test Tomcat9
It contains Tomcat