RegWrite
写入值到注册表.
RegWrite, ValueType, RootKey\SubKey [, ValueName, Value] ; v1.1.21+ RegWrite, ValueType, RootKey, SubKey [, ValueName, Value]
参数
- ValueType
必须为 REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD 或 REG_BINARY 的其中一个.
- RootKey
必须为 HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT 或 HKEY_CURRENT_CONFIG 的其中一个 (或者它们的缩写, 例如 HKLM). 要访问远程注册表, 请在前面加上计算机名和冒号 (或 v1.1.21+ , 正斜线 /), 例如:
\\workstation01:HKEY_LOCAL_MACHINE
- SubKey
子键名 (例如 Software\SomeApplication). 如果 SubKey 不存在,则进行创建(需要时创建它的父键以及父键的父键等).如果 SubKey 留空, 则直接把值写入到 RootKey (不过一些操作系统可能会拒绝写入到 HKEY_CURRENT_USER 的根键中).
- RootKey\SubKey [v1.1.21+]
If RootKey is followed immediately by a slash (
\
), RootKey and SubKey are merged into a single parameter.- ValueName
将被写入的值名. 如果为空或省略, 则使用 Subkey 的默认值, 这是在注册表中值名显示为 "(默认)" 的值.
- 值
要写入的值. 如果省略, 则根据 ValueType 的不同它默认为空字符串或 0. 如果文本较长, 可以通过 延续片段 的方法将其分解成较短的几行, 这样可以增加可读性和可维护性.
ErrorLevel
[v1.1.04+] 此命令失败时会抛出异常. 想了解更多信息, 请参阅 运行时错误.
如果遇到问题则 ErrorLevel 被置为 1, 否则为 0.
A_LastError 被设置为操作系统 GetLastError() 函数返回的结果.
备注
如果 ValueType 为 REG_DWORD, 则 Value 应该介于 -2147483648 和 4294967295 (0xFFFFFFFF) 之间.
写入 REG_BINARY 键时, 请使用十六进制的字符串, 例如 REG_BINARY 值 01,a9,ff,77 在写入时要使用字符串 01A9FF77.
写入 REG_MULTI_SZ 键时, 您必须使用换行符 (`n) 分隔各个部分. 最后一个部分后面的换行符是可选的. 不允许存在空的部分. 换句话说, 在一行中不能连续指定两个换行符 (`n`n), 因为这样会导致写入到注册表的值比期望的短.
在 v1.1.10.01 或更高版本中支持大于 64K 的 REG_BINARY 和 REG_MULTI_SZ 值.在旧版本中,它们会被截断成 64K.
要获取和操作多个注册表键或值, 请考虑使用 注册表循环.
关于如何访问远程计算机注册表的详情, 请参阅 注册表循环 中的备注.
要在 32 位脚本中读写注册表 64 位部分的条目或进行相反的操作,请使用 SetRegView.
相关
RegDelete, RegRead, 注册表循环, SetRegView, IniWrite
示例
RegWrite, REG_SZ, HKEY_LOCAL_MACHINE, SOFTWARE\TestKey, MyValueName, Test Value RegWrite, REG_BINARY, HKEY_CURRENT_USER, Software\TEST_APP, TEST_NAME, 01A9FF77 RegWrite, REG_MULTI_SZ, HKEY_CURRENT_USER, Software\TEST_APP, TEST_NAME, Line1`nLine2 ; Alternative syntax (requires v1.1.21+): RegWrite, REG_SZ, HKEY_LOCAL_MACHINE\SOFTWARE\TestKey, MyValueName, Test Value RegWrite, REG_BINARY, HKEY_CURRENT_USER\Software\TEST_APP, TEST_NAME, 01A9FF77 RegWrite, REG_MULTI_SZ, HKEY_CURRENT_USER\Software\TEST_APP, TEST_NAME, Line1`nLine2