我正在尝试使用 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 add
technet.microsoft.com 上的命令参考没有提供任何线索,但根据reg.exe
ss64.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
它看起来应该是两个单独的命令,但是你以某种方式将一个嵌入到另一个命令中(或截断一个,并将另一个直接附加到它上面?),导致不正确的引号使用(你不能在双引号中嵌入双引号,除非你逃离他们——通过将它们加倍""
:)。
对我来说,这看上去只是一份糟糕的复制粘贴作品。