如何从命令行向注册表添加多行REG_SZ字符串?

mor*_*lli 5 windows registry batch-file

作为Windows机器上的构建设置的一部分,我需要添加一个注册表项,我想从一个简单的批处理文件中完成它.

该条目适用于第三方应用,因此格式已修复.

该条目采用REG_SZ字符串的形式,但需要包含换行符,即.0xOA字符作为分隔符.

我遇到了一些问题.

第一次尝试使用regedit加载生成的.reg文件.这失败了,因为它似乎不喜欢长字符串或带换行符的字符串.我发现导出工作正常导入失败.我能够测试导出,因为第三方应用程序直接通过win32 api添加类似的条目.

第二次尝试使用命令REG ADD,但无论如何我无法找到添加换行符字符我尝试的所有内容最后添加了一个文字字符串.

有任何想法吗?

tlo*_*ach 2

您可以创建一个 VBScript(.vbs) 文件,然后从批处理文件中调用它,假设您正在批处理中执行除此注册表更改之外的其他操作。在 vbscript 中,您会看到类似以下内容:

set WSHShell = CreateObject("WScript.Shell")  
WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SOMEKEY", "value", "type"
Run Code Online (Sandbox Code Playgroud)

您应该能够使用 Google 找到可能的类型值。