Edw*_*Lee 3 windows registry command-line
要添加REG_MULTI_SZ多行注册表值,我可以这样做
reg.exe ADD "HKLM\path\to\registry\key" /v RegistryValue /t REG_MULTI_SZ /d "abc\0def\0"
Run Code Online (Sandbox Code Playgroud)
这将添加("abc","def").
但是如果我需要添加("abc","","def"),即两者之间的空项呢?
干
reg.exe ADD "HKLM\path\to\registry\key" /v RegistryValue /t REG_MULTI_SZ /d "abc\0\0def\0"
Run Code Online (Sandbox Code Playgroud)
给我一个"无效参数"错误.
小智 10
这对我有用:
REG ADD "HKLM\LOCATION" /v "Value" /t REG_MULTI_SZ /d item1\0item2 /f
Run Code Online (Sandbox Code Playgroud)
或者如果您的项目有空格:
REG ADD "HKLM\LOCATION" /v "Value" /t REG_MULTI_SZ /d "item1"\0"item2" /f
Run Code Online (Sandbox Code Playgroud)
确保你没有两个尾随的"\ 0"分隔符(一个是好的,有或没有尾随\ 0你将获得你的最后一个返回字符),如下例所示(就像我在TechNet文章中看到的那样),或者你将得到"错误:为'/ d'指定的无效值.":
REG ADD "HKLM\LOCATION" /v "Value" /t REG_MULTI_SZ /d item1\0item2\0\0 /f
Run Code Online (Sandbox Code Playgroud)
使用reg add可能无法实现,因为您尝试设置的数据格式不正确。REG_MULTI_SZ值以空字符串结尾,因此不允许将空字符串作为值的一部分。
如果确实需要,并且了解某些软件将无法正确读取密钥,则可以改用reg import。例如,以下文件创建一个值,中间带有一个空字符串:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\software\harrytest]
"test"=hex(7):76,00,61,00,6c,00,75,00,65,00,31,00,00,00,76,00,61,00,6c,00,75,\
00,65,00,32,00,00,00,00,00,76,00,61,00,6c,00,75,00,65,00,34,00,00,00,76,00,\
61,00,6c,00,75,00,65,00,35,00,00,00,00,00
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37968 次 |
| 最近记录: |