我想知道用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
个单词。这可能吗?
非常感谢!
答案 0 :(得分:1)
有两个符合您要求的命令:reg query
和reg 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。