批处理文件 - 搜索和编辑注册表?

时间:2015-11-08 16:53:10

标签: batch-file registry

我想搜索并删除一些注册表项。这些密钥的地址可能不同,但其名称固定如下:

{1F5093-119-4c0-B05-658A23EC4B}

{C04056-35F-4b8-A3A-9F098E503D}

{978DBB-DCA-42e-B40-6591221CD3}

{CC93C6-D33-4ac-AFA-50075D4893}

目前,我可以通过以下命令搜索它们并写入新文件,但有两个问题,首先,它只在一个目录中搜索HKU,HKLM或HKCU,或者......;第二,如何编写另一个批处理文件来读取找到的地址并删除这些键?

REG Query HKU /f {1F7B5093-119B-4c50-B705-658A231CEC4B} /s > "out.bat" 

如果我能读取out.bat中的行,可以通过[-reg.address]轻松删除密钥

1 个答案:

答案 0 :(得分:2)

使用for循环:

@echo off
for %%a in (HKLM HKU) do (
    for %%b in (
        "{1F5093-119-4c0-B05-658A23EC4B}"
        "{C04056-35F-4b8-A3A-9F098E503D}"
        "{978DBB-DCA-42e-B40-6591221CD3}"
        "{CC93C6-D33-4ac-AFA-50075D4893}"
    ) do (
        echo Searching %%a for %%~b...
        for /f "delims=" %%c in ('
            reg query %%a /s /k /f "%%~b" ^| findstr /b "HKEY"
        ') do (
            echo Deleting %%c
            reg delete "%%c" /f >nul
        )
    )
)
pause