如何删除带有通配符的注册表项

如何删除带有通配符的注册表项

您能使用以下命令删除注册表项吗?

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{CD95F661-A5C4-44F5-A6AA-ECDD91C240*" /f

路径末尾的星号试图删除后面的任何注册表项ECDD91C24

如果这不是正确的方法,那么如何删除注册表项(您可能不知道注册路径的最后 2 位数字)?

我希望这是清楚的。

答案1

电源外壳注册提供商允许您以几乎与处理文件相同的方式处理注册表项,包括在路径中使用通配符:

PS C:\>>dir hklm:\so*\mi*


    Hive: HKEY_LOCAL_MACHINE\SOFTWARE


Name                           Property
----                           --------
Microsoft

PowerShell 的通配符包括熟悉的*?,以及:[<list or range>]

PS C:\>>gci 'HKCU:\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\[1,3][5-8]'


    Hive: HKEY_CURRENT_USER\SOFTWARE\Classes\Local
    Settings\Software\Microsoft\Windows\Shell\Bags


Name                           Property
----                           --------
15
16
17
18
35
36
37
38

因此,OP将使用:

del 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{CD95F661-A5C4-44F5-A6AA-ECDD91C240*' -Recurse

或者更准确地说(对于 GUID):

ri 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{CD95F661-A5C4-44F5-A6AA-ECDD91C240??}' -Recurse
  • 如果没有该-Recurse参数,带有子键的键将显示确认消息。
  • dir= gci=获取子项
  • del= ri =除去项目

答案2

RegScanner 是一个小型免费实用程序,它允许您扫描注册表,查找与指定搜索条件匹配的所需注册表值,并将它们显示在一个列表中。

使用 RegScanner 删除注册表项和值

此功能可让您轻松删除在搜索过程中找到的不需要的注册表项和值。但是,为了降低意外删除操作造成损害的可能性,此功能的工作方式如下:

  • 在任何删除操作之前,RegScanner都会询问您是否要删除,默认答案为否。
  • 当删除一个值项时,只删除该值;当删除一个键时,整个键都会被删除。
  • 如果某个键有一个或多个子键,则该键不会被删除。
  • 对于每次删除,删除的值/键都会添加到位于 RegScanner.exe 文件夹中的 .bak 文件中
  • 如果 RegScanner 无法创建 .bak 文件,它将不会删除所选项目。

https://www.nirsoft.net/utils/regscanner.html

相关内容