我需要编写一个批处理文件来检查变量是否包含特定值。 我试着做以下事情:
If "%%a"=="%%a:%pattern%" (
echo Yes
) else (
echo No
)
输入示例: %% a =“鲍勃·宾森” %百通%= “binson”
我永远不会被打印出来! 任何人都可以告诉我错过了什么,或举例说明他将如何做到这一点?
先谢谢
答案 0 :(得分:1)
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