Regsvr32 / u - 取消注册DLL

时间:2015-10-19 06:42:42

标签: registry registrykey

Regsvr32 /u可以取消注册DLL,但无法删除注册表中的相应条目。

是否有可用于删除所有这些注册表值的脚本或工具?我不能一个一个地删除它有太多的条目。

如果有人可以提供示例.bat文件,则会更方便。

更新: 我创建了一个脚本,但我无法在循环中回显结果:)

@echo off
for /f  %%a in (' 
    reg query "HKEY_CLASSES_ROOT" ^|
    find "Search_Text"
') do (
     set "regs=%%a"
     echo %regs%
)

pause
::echo %regs%
::reg delete "%regs%"

1 个答案:

答案 0 :(得分:2)

您想要delayed expansion(另见MSDN)。

@echo off
setlocal enabledelayedexpansion

for /f "delims=" %%a in (' 
    reg query "HKEY_CLASSES_ROOT" ^|
    find "Search_Text"
') do (
    set "regs=%%a"
    echo !regs!
    echo reg delete "!regs!"
)

附注:如果您不使用循环体中的变量,则不需要延迟扩展:

@echo off

for /f "delims=" %%a in (' 
    reg query "HKEY_CLASSES_ROOT" ^|
    find "Search_Text"
') do (
    echo %%a
    echo reg delete "%%a"
)