所以 奇怪的事情发生在今天。我正在编写一些* .bat来编辑一些注册表值。 例如,假设命令是这样的:
@ECHO ON
REG add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v "NoPreviewPane" /t REG_DWORD /d "2" /f
PAUSE
如果我将其键入(粘贴)到提升的CMD,它就可以正常工作。 但是,如果我使用该命令创建一个* .bat文件并运行它: - 以管理员身份运行:cmd打开和关闭,没有任何反应 - 正常运行:“拒绝访问” - 这没关系,因为从cmd编辑需要管理员权限,afaik。
任何想法都可能出错?
答案 0 :(得分:1)
您需要将脚本写入HKEY_CURRENT_USER
的相关子键 - 请注意最后的 S 。
(有关详细信息,请参阅here。)
答案 1 :(得分:1)
所以,经过一夜的研究,我得到了this解决方案。我重置了注册表权限,如链接中所示。在那之后,问题就消失了。
答案 2 :(得分:0)
64位操作系统?您使用的是哪个CMD.exe?是的......有32位和64位!您可能在一种情况下写入HKEY_CURRENT_USER \ Software ...,在另一种情况下写入HKEY_CURRENT_USER \ Software \ Wow6432Node。 REG ADD /?如果在64位操作系统上,您将看到参数指定注册表的32/64位区域。
否则,在REG ADD和PAUSE之后的行上添加行@ECHO ON,然后查看是否有错误消息。