通过主动启动添加注册表项

通过主动启动添加注册表项

我正在尝试使用 Active Startup 为计算机上的所有用户添加密钥。但我收到语法错误,因为我想要添加的密钥名(FormSuggest Password)之间有一个空格,有什么提示吗?

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\IECachedPassword" /v "Version" /d "1" /t REG_SZ /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\IECachedPassword" /v "StubPath" /d "reg add HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main /v "FormSuggest Passwords" /d "no" /t REG_SZ /f" /f

如果我尝试写

FormSuggest_Passwords

我没有收到任何错误。

如果我用引号括住子项,无论哪种方式都会出现语法错误

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\IECachedPassword" /v "StubPath" /d "reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "FormSuggest Passwords" /d "no" /t REG_SZ /f" /f

我正在尝试禁用 Internet Explorer 以建议保存密码。Windows 7 带有 IE11。有什么帮助吗?

答案1

Reg addtechnet.microsoft.com 上的命令参考没有提供任何线索,但根据reg.exess64.com 上的描述

反斜杠字符

REG 命令会将 \ 解释为紧随其后的字符的转义符。若要在数据中包含引号 ("),请在其前面加上转义符,例如,此处为 \" 引号。

使用%_sKey1%%_sKey2%变量作为子键,使代码片段更具可读性(并且/t REG_SZ在两种情况下都省略了默认值):

set "_sKey1=SOFTWARE\Microsoft\Active Setup\Installed Components\IECachedPassword"
set "_sKey2=Software\Microsoft\Internet Explorer\Main"

reg add "HKLM\%_sKey1%" /v "StubPath" /d "reg add \"HKCU\%_sKey2%\" /v \"FormSuggest Passwords\" /d \"no\" /f" /f

为了便于阅读,让我们再次回顾一下最后一条长命令,分成多行

reg add "HKLM\%_sKey1%" /v "StubPath" ^
/d "reg add \"HKCU\%_sKey2%\" /v \"FormSuggest Passwords\" /d \"no\" /f" /f

答案2

这句话对我来说毫无意义:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\IECachedPassword" /v "StubPath" /d "reg add HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main /v "FormSuggest Passwords" /d "no" /t REG_SZ /f" /f

它看起来应该是两个单独的命令,但是你以某种方式将一个嵌入到另一个命令中(或截断一个,并将另一个直接附加到它上面?),导致不正确的引号使用(你不能在双引号中嵌入双引号,除非你逃离他们——通过将它们加倍"":)。

对我来说,这看上去只是一份糟糕的复制粘贴作品。

相关内容