使用bat文件在Windows注册表中搜索某个字符串名称

时间:2017-08-09 08:22:41

标签: windows batch-file registry

我想知道用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个单词。这可能吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

有两个符合您要求的命令:reg queryreg delete

使用Select-Object -last 1,您可以在注册表中搜索密钥和/或值。

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循环。如果您遇到问题,请展示您的工作并询问具体问题(编辑您的问题)。

在删除之前,请考虑使用reg export选定键进行备份。

for /L

另一个很好的工具是PowerShell