我想搜索并删除一些注册表项。这些密钥的地址可能不同,但其名称固定如下:
{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]
轻松删除密钥
答案 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