TMR*_*MRW 2 windows-registry windows-7 command-line
我正在尝试通过命令行删除一些注册表项(启动项),虽然我可以从HKCU \SOFTWARE\Microsoft\Windows\CurrentVersion\Run 中删除,但我无法从HKLM \SOFTWARE\Microsoft\Windows\CurrentVersion\ 中删除任何内容跑。
我什至通过 regedit.exe 在那里创建了一些临时密钥,但即使是那些也无法通过命令行删除。所以我在这里搜索了类似的线程,显然是用谷歌搜索的。通常发生这种情况是因为:
命令行给出的具体错误信息是:
ERROR: The system was unable to find the specified registry key or value.
Run Code Online (Sandbox Code Playgroud)
然而,密钥肯定存在于我试图从中删除它的位置,甚至 regedit 也在那里显示它。我也可以用 regedit 删除它,没有问题。
任何人都有任何线索要检查什么?
好的,所以在写这篇文章时,我偶然发现了一些非常奇怪的事情。看起来有两个版本的HKLM \SOFTWARE\Microsoft\Windows\CurrentVersion\Run。
我不知道这怎么可能,但是当我在 regedit 中复制密钥名称时,它们都是相同的,但它们显示不同的项目。第一个没问题,似乎 reg.exe 正在尝试查找并删除此位置中的密钥,这就是它出错的原因。第二个是有问题的,其中存在我需要通过命令行删除的密钥。
但是,当我向HKLM \SOFTWARE\Microsoft\Windows\CurrentVersion\Run添加相同的密钥时,它会被写入“正确”的位置,我也可以通过命令行将其删除。
好的,我想我现在知道问题所在了。当我运行本机 64 位版本的 regedit 时会显示“正确”位置,而只有当我运行 32 位版本的 regedit 时才会显示有问题的位置。
解决方案:
使用%windir%\SysWOW64\reg.exe操纵32位注册表项和%windir%\System32\reg.exe操纵64位注册表项。我将与程序作者进行一次严肃的谈话,讨论为什么他们将启动密钥推送到 64 位系统上的 32 位 reqistry。
解决方案:使用%windir%\SysWOW64\reg.exe操纵32位注册表项和%windir%\System32\reg.exe操纵64位注册表项。
我将与程序作者进行一次严肃的谈话,讨论为什么他们将启动密钥推送到 64 位系统上的 32 位 reqistry。
| 归档时间: |
|
| 查看次数: |
15740 次 |
| 最近记录: |