IniRead

读取标准格式的 .ini 文件中的值。

IniRead, OutputVar, Filename [, Section, Key, Default]

参数

OutputVar

用来存储获取值的变量名. 如果无法获取到这个值, 此变量会被设置为由 Default 参数提供的值 (如下所述).

[AHK_L 57+]: 如果省略 Key 参数, 那么会获取去除任何注释的指定 Section 的内容. 如果也省略 Section 参数, 那么 OutputVar 中会存储段名列表, 其中每个名称都用换行符 (`n) 隔开.

Filename

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

Section

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

.ini 文件中的键名.

Default

当没有找到请求的键时保存到 OutputVar 中的值. 如果省略, 此参数默认为单词 ERROR. 要存储空值 (空字符串), 请指定 %A_Space%.

[AHK_L 57+]: 省略 Key 时不使用此参数.

ErrorLevel

此命令 不会 改变 ErrorLevel. 如果遇到问题, OutputVar 将被设置为如上所述的 Default 值.

备注

操作系统会自动忽略获取字符串中前导和尾随空格/tab.

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

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

[SectionName]
Key=Value

Unicode: IniRead 和 IniWrite 依靠外部函数 GetPrivateProfileStringWritePrivateProfileString 来读取和写入值. 这些函数仅支持 UTF-16 编码的 Unicode 文件; 其他所有文件都被认为使用系统默认 ANSI 代码页.

相关

IniDelete, IniWrite, RegRead, 文件读取循环, FileRead

示例

IniRead, OutputVar, C:\Temp\myfile.ini, section2, key
MsgBox, The value is %OutputVar%.