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

时间:2012-09-14 22:42:57

标签: 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 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-06D253535481}

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

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

但它返回'DriverDesc'的所有现有条目,而不仅仅是数据字段中具有“ati”的条目。我想也许/ s会覆盖/ f,我不确定。

TIA提供任何帮助。 -M

0 个答案:

没有答案