第二个的for用法有问题。
尝试这段代码:
@echo off
rem 设定注册表查询键名
set root=HKCR
rem 设定查询条件(包含的字符)
set condition=.contact
for /f %%i in ('reg query %root%')do call :run %%i
goto EOF
:run
echo %1 | find /I "%condition%"
if %errorlevel%==0 (
rem 设定对符合条件的目标的处理(参数 %1)
reg delete %1
)
:EOF