2015-10-19 404 views
-2

Regsvr32 /u可以取消註冊DLL,但無法刪除註冊表中的相應條目。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%" 

回答

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" 
)