将多个值写入Reg_SZ

时间:2016-08-21 07:13:51

标签: windows command-line vbscript registry

我有一个需要将多个配置文件写入reg_sz的应用程序

"sEndorsement"="C:\\x\\file1.txt
C:\\x\\file2.txt"

通过regedit添加此功能并不起作用。我尝试使用vbscript,如下所示,

Dim myval
myval = "C:\\x\\file1.txt" & VbCrLf _
& "C:\\x\\file2.txt" & VbCrLf _
& "C:\\y\\file3.dll" & VbCrLf

Dim WSHShell
set WSHShell = CreateObject("WScript.Shell")
WSHShell.RegWrite "HKEY_USERS\abc\def\TheSelectedFiles", myval, "REG_SZ"

但它仍然以单行出现...我不确定..有人可以帮我吗?感谢

1 个答案:

答案 0 :(得分:3)

对于多行,称为REG_MULTI_SZ而不是REG_SZ。 您无法在HKEY_USERS的根目录下创建密钥,您需要使用.Default子项。值将显示在同一行,但如果双击该值,则可以看到有3行。

Set objRegistry = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\.\root\default:StdRegProv")
Const HKEY_CLASSES_ROOT =    &H80000000
Const HKEY_CURRENT_USER =    &H80000001
Const HKEY_LOCAL_MACHINE =   &H80000002
Const HKEY_USERS =           &H80000003
Const HKEY_CURRENT_CONFIG =  &H80000005

strKeyPath = ".DEFAULT\abc\def\TheSelectedFiles"
MultValueName = "sEndorsement"
iValues = Array("C:\x\file1.txt", "C:\x\file2.txt", "C:\y\file3.dll")
objRegistry.CreateKey HKEY_USERS,strKeyPath
objRegistry.SetMultiStringValue HKEY_USERS,strKeyPath,MultValueName,iValues