2017-08-09 149 views
0

我想知道是否可以在Windows註冊表中使用bat文件查找和刪除某些給定的註冊表值。在Windows註冊表中使用bat文件搜索某個字符串名稱

例如,我想刪除所有條目至極包含單詞oracle,所以BAT文件必須刪除例如像所有條目:

c:\users\user\AppData\LocalLow\Oracle\Java\jre1.8.0_101\
Microsoft OLE DB Provider for Oracle
c:\oracle\product\11.2.0\client_1\bin\OraOLEDB11.DLL

正如你可以看到,3個條目在其中具有oracle這個詞。這可能嗎?

非常感謝!

+2

可能會有用:http://www.nirsoft.net/utils/regscanner.html –

+0

目前還不清楚,你試圖匹配什麼(任何地方?整個詞只?如果是的話,什麼是分隔符? )。它也表明,你不是在尋找值來匹配,而是在於他們存儲的數據。請修改您的問題以包含此信息。 – IInspectable

回答

1

有兩個命令可以滿足您的要求:reg queryreg delete

With req query您可以搜索註冊表中的鍵和/或值。

reg query <KeyName> [{/v <ValueName> | /ve}] [/s] [/se <Separator>] [/f <Data>] [{/k | /d}] [/c] [/e] [/t <Type>] [/z] 

以下示例遞歸搜索(/s)在HKCU

reg query HKCU /s /f Oracle 

要刪除註冊表項或值使用reg delete

Reg delete <KeyName> [{/v ValueName | /ve | /va}] [/f] 

要批量寫入,您必須稍微過濾reg query的輸出,並使用for /L循環逐行解析。如果您遇到麻煩,請展示您的努力並詢問具體問題(編輯您的問題)。

還可以考慮在刪除選定密鑰之前使用reg export進行備份。

Reg export KeyName FileName [/y] 

另一個偉大的工具,這樣的事情是PowerShell

+0

謝謝你這麼快回復,我會試試這種方式。 –