1

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

这个解决方案很接近,但使用常量而不是变量。 批处理文件:查找子字符串是否在字符串中(不在文件中)

4

2 回答 2

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
于 2013-07-11T20:41:03.777 回答
3

解决方案是使用FindStrNULL 重定向,>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
于 2013-07-11T20:16:52.430 回答