如何使用批处理文件删除 HKCR windows 10 下的所有条目? [关闭]

Posted

技术标签:

【中文标题】如何使用批处理文件删除 HKCR windows 10 下的所有条目? [关闭]【英文标题】:How to Delete all entries under HKCR windows 10 using batch file? [closed] 【发布时间】:2021-08-24 23:39:08 【问题描述】:

如何删除 HKCR 注册表项下的所有条目?

我尝试了以下但没有工作

reg delete HKCR /f 

【问题讨论】:

为什么有人要出于合法目的清除 HKCR 密钥?这会清除大量注册信息,以致系统实际上无法使用。 @RemyLebeau 用于学习目的。 @KJ 你有什么程序吗? 【参考方案1】:

继续破坏你的系统:

据我了解,您需要使用ROOTKEY\SubKey,所以如果没有子密钥,我怀疑它会起作用,尽管我没有傻到尝试它。

我希望您需要在 For /F 循环中枚举所有***子键,然后对每个结果执行 Delete

打开cmd 窗口,输入以下内容,然后按ENTER

For /F Delims^= %G In ('%SystemRoot%\System32\reg.exe Query HKCR') Do %SystemRoot%\System32\reg.exe Delete "%G" /F 1>NUL 2>&1

要以batch-file 的身份执行此操作,它看起来像这样:

@For /F Delims^= %%G In ('%SystemRoot%\System32\reg.exe Query HKCR'
) Do @%SystemRoot%\System32\reg.exe Delete "%%G" /F 1>NUL 2>&1

顺便说一句,as mentioned by KJ, in the comments 在正确的问题下,HKEY_CLASSES_ROOT 键不像其他键那样真正是根键,它实际上是HKEY_LOCAL_MACHINE\SOFTWARE\ClassesHKEY_CURRENT_USER\SOFTWARE\Classes ROOTKEY\SubKey 对的组合。因此,也许您应该看看如果您尝试删除这两者会发生什么,因为Delete 命令适用于这些。

只有一行batch-file

@For %%G In (LM CU) Do @%SystemRoot%\System32\reg.exe Delete "HK%%G\SOFTWARE\Classes" /F 1>NUL 2>&1

2>&1 是可选的,如果您想查看任何错误消息。

【讨论】:

我尝试了相同但没有工作。我在上面保存为 .bat 但运行后条目仍然存在For /F Delims^= %G In ('%SystemRoot%\System32\reg.exe Query HKCR') Do %SystemRoot%\System32\reg.exe Delete "%G" /F 1>NUL 2>&1 好!如果删除 2>&1 会发生什么? 没什么。这是截图ibb.co/8jrzQVf 那是[batch-file],你的问题和标签没有提到批处理文件,你使用了[cmd]标签,它用于在Windows命令提示符中输入的命令,即命令.exe。我已经编辑了答案以包含批处理文件版本,并编辑了您的问题以包含您应该使用的标签! 运行后,我弹出了cmd窗口,这很好,但什么也没发生。截图ibb.co/mGKwC3F【参考方案2】:

正如你所展示的那样,没有办法用reg delete 做你所要求的事情,因为在命令行上运行reg delete /? 时,根据文档指定HKCR 本身是非法的:

REG DELETE KeyName [/v ValueName | /ve | /va] [/f]

  KeyName    [\\Machine\]FullKey
    Machine  Name of remote machine - omitting defaults to the current machine.
             Only HKLM and HKU are available on remote machines.
    FullKey  ROOTKEY\SubKey
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   The full name of a registry key under the selected ROOTKEY.

  ValueName  The value name, under the selected Key, to delete.
             When omitted, all subkeys and values under the Key are deleted.

  /ve        delete the value of empty value name (Default).

  /va        delete all values under this key.

  /f         Forces the deletion without prompt.

Examples:

  REG DELETE HKLM\Software\MyCo\MyApp\Timeout
    Deletes the registry key Timeout and its all subkeys and values

  REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
    Deletes the registry value MTU under MyCo on ZODIAC

注意KeyName 是如何定义为[\\Machine\]FullKeyFullKey 是如何定义为ROOTKEY\SubKey 的,这意味着在将HKCR 指定为ROOTKEY 时,您必须指定一个特定的SubKey。不能省略SubKey

因此,您将不得不枚举HKCR 下的子键(例如reg query),一次删除每个子键。

【讨论】:

你有确切的命令吗? 嘿,这不是为了让我的电脑清晰。我在虚拟机上学习。

以上是关于如何使用批处理文件删除 HKCR windows 10 下的所有条目? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Windows 资源管理器 - 删除上下文菜单中的条目

windows批处理问题,如何批量删除某几个子文件夹下面,文件名包含特定字符串的所有文件?

Windows批处理文件,如何重命名和删除部分文件名

如何编辑一个windows bat批处理文件 删除多余的文件名和后缀

如何允许表单在不处理 Windows 消息的情况下接受文件删除?

Inno setup关联文件