For loop 用于删除图形适配器的多个注册表项的脚本

For loop 用于删除图形适配器的多个注册表项的脚本,for-loop,cmd,findstr,For Loop,Cmd,Findstr,目标是创建一个批处理文件,该文件将删除图形卡驱动程序多个版本的注册表项。它应该在HKLM\System\CurrentControlSet\Control\Video注册表项和子项中搜索制造商名称,并将结果写入列表或设置多个变量,然后删除每个变量 这是我的原稿,看起来还不错 :loop reg for /f "delims=\, tokens=6" %%r in ('reg query HKLM\System\CurrentControlSet\Control\Video /s /f atikm

目标是创建一个批处理文件,该文件将删除图形卡驱动程序多个版本的注册表项。它应该在HKLM\System\CurrentControlSet\Control\Video注册表项和子项中搜索制造商名称,并将结果写入列表或设置多个变量,然后删除每个变量

这是我的原稿,看起来还不错

:loop reg
for /f "delims=\, tokens=6" %%r in ('reg query HKLM\System\CurrentControlSet\Control\Video /s /f atikmdag') do set rVAR=%%r
for %%r in (%rVAR%) do reg delete HKLM\System\CurrentControlSet\Video\%%r /f
if not exist "reg query HKLM\System\CurrentControlSet\Control\Video /s /f atikmdag" goto xfiles
goto loop reg

:xfiles
rest of script
变量%%r将是图形卡的GUID,例如{3662D7D0-8848-4091-9116-06D2535481}

问题是我需要删除多个驱动程序版本的注册表项,搜索字符串“atikmdag”不会返回所有结果

我试过这个 reg query HKLM\System\CurrentControlSet\Control\Video/s/v DriverDesc/f“ati”

但它会返回“DriverDesc”的所有现有条目,而不仅仅是数据字段中包含“ati”的条目。我想可能是/s覆盖了/f,我不确定

谢谢你的帮助。 -M