首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何修复完整注册表项批量删除

如何修复完整注册表项批量删除
EN

Stack Overflow用户
提问于 2018-08-29 00:56:32
回答 1查看 395关注 0票数 0

我尝试使用以下代码行查找注册表项:

代码语言:javascript
复制
REG Query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData /F "Need removed manually Add-In" /S

但它包含以下子键:

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\145BA990C18DA984499E1D1F9A1BD64D
BB02C99E89C99CD4A8CC6A7AA7576194    REG_SZ    C:\Program Files (x86)\Need removed manually Add-In\SimonFell\PocketSoap\psDime.dll

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\37AC9AD16C5204A4D9D92967A6699DEE
    BB02C99E89C99CD4A8CC6A7AA7576194    REG_SZ    C:\Program Files (x86)\Need removed manually Add-In\SimonFell\PocketSoap\pSOAP32.dll

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\DFD1C740E6047204C8387A02138B234A
    BB02C99E89C99CD4A8CC6A7AA7576194    REG_SZ    C:\Program Files (x86)\Need removed manually Add-In\SimonFell\PocketSoap\pocketHTTP.dll

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\F3A3DDBA307ACB945868E32C44414A5E
    BB02C99E89C99CD4A8CC6A7AA7576194    REG_SZ    C:\Program Files (x86)\Need removed manually Add-In\SimonFell\PocketSoap\psProxy.dll

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\BB02C99E89C99CD4A8CC6A7AA7576194\InstallProperties
    DisplayName    REG_SZ    Need removed manually Add-In

End of search: 5 match(es) found.

当我尝试使用with a script删除时:

代码语言:javascript
复制
FOR /f "delims=" %%a IN ('REG Query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData /F "Need removed manually Add-In" /S') DO REG delete "%%a" /f

我成功删除了第一个完整的关键字,但之后,我得到了一个错误,因为脚本正在尝试删除第二行字符串细节:

代码语言:javascript
复制
REG delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\145BA990C18DA984499E1D1F9A1BD64D" /f

操作已成功完成。

代码语言:javascript
复制
REG delete "    BB02C99E89C99CD4A8CC6A7AA7576194    REG_SZ    C:\Program Files (x86)\Need removed manually Add-In\SimonFell\PocketSoap\psDime.dll" /f

错误:密钥名称无效。键入"REG DELETE /?“以供使用。

如何才能只删除实际的密钥并避免此错误?

EN

回答 1

Stack Overflow用户

发布于 2018-08-29 01:33:23

这是我在重复问题中迟来的回答。

使用/F/DReg Query search选项,/F/D,search in data values only,然后要删除值行和搜索计数,可以使用Find仅输出包含字符串HKEY_的行。

代码语言:javascript
复制
@Echo Off
Set "Key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData"
Set "Str=Need removed manually Add-In"
For /F "Delims=" %%A In ('REG Query "%Key%" /S /F "%Str%" /D^|Find "HKEY_"'
) Do Echo=Reg Delete "%%A" /F
Pause

更改23行中的值以满足您的特定要求。

如果您对输出满意,只需删除倒数第二行中的Echo=,也可以选择删除最后一行。(请注意,我不建议以这种方式删除注册表项,因此在删除这些注册表项之前,您可以决定是否应该备份这些注册表项)

请注意,您可能需要以管理员身份运行才能删除HKLM下的密钥。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52062969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档