IniWrite

AutoHotKey

IniWrite

写入值到标准格式的 .ini 文件.

IniWrite, Value, Filename, Section, Key
IniWrite, Pairs, Filename, Section

参数

Value

将被写入到 Key 的等号 (=) 右边的字符串或数字.

如果文本较长, 可以通过 延续片段 的方法将其分解成较短的几行, 这样可以增加可读性和可维护性.

Pairs

[AHK_L 57+]: 将 Section 的完整内容写入到 ini 文件中, 不包括 [SectionName] 头部. Key 必须省略. Pairs 不可包含空行. 如果 section 已经存在, 任何内容包括所有的 key=value 对将被覆盖. Pairs 可以是不包含等于符号 (=) 的内容, 但这可能产生不一致的效果. 注释可以写入文件,但是在使用 IniRead 读出时将不包含注释段.

Filename

ini 文件名, 如果未指定绝对路径则假定在 %A_WorkingDir% 中.

Section

ini 文件中的段名, 它是包含在方括号中的标题短语 (在此参数中不需要加方括号).

Key

ini 文件中的键名.

ErrorLevel

[v1.1.04+] 此命令失败时会抛出异常. 想了解更多信息, 请参阅 运行时错误.

如果遇到问题则 ErrorLevel 被置为 1, 否则为 0.

备注

超过 65,535 字符的值很可能被截短.

标准的 ini 文件看起来类似下面这样:

[SectionName]
Key=Value

新文件将使用系统默认的 ANSI code page 或者是 UTF-16, 这取决于 AutoHotkey 的版本. UTF-16 可能会出现第一行为空行的情况, 因为第一行包含 UTF-16 位元组顺序记号. 参考下面的变通方案.

Unicode: IniRead 和 IniWrite 依靠外部函数 GetPrivateProfileStringWritePrivateProfileString 来读写值. 这些函数仅支持 Unicode 为 UTF-16 编码的件; 其他所有文件都被认为使用系统默认 ANSI 代码页. 在 Unicode 脚本 中, IniWrite 为每个新文件使用 UTF-16 编码. 如果不希望这样, 那么请确保在执行 IniWrite 前目标文件已经存在. 例如:

FileAppend,, NonUnicode.ini, CP0 ; 在大多数情况下最后一个参数是可选的.

相关

IniDelete, IniRead, RegWrite

示例

IniWrite, this is a new value, C:\Temp\myfile.ini, section2, key