bat文件脚本来检查string是否包含其他string

我需要写一个batch file来检查variables是否包含特定的值。 我试图做到以下几点:

If "%%a"=="%%a:%pattern%" ( echo Yes ) else ( echo No ) 

input示例:%% a =“bob binson”%patern%=“binson”

我从来没有得到印! 任何人都可以请告诉我错过了什么,或者给出一个他将如何做的例子?

提前致谢

子字符串操作不可for可替换参数。 您需要将数据分配给一个变量,然后对该变量执行操作

 @echo off setlocal enableextensions disabledelayedexpansion >"tempFile" ( echo bob binson echo ted jones echo binson ) set "pattern=binson" for /f "usebackq delims=" %%a in ("tempFile") do ( echo data: %%a set "line=%%a" setlocal enabledelayedexpansion if "!line:%pattern%=!"=="!line!" ( echo .... pattern not found ) else ( echo .... pattern found ) endlocal ) del /q tempFile