AutoIT 读取和写入INI文件详解

#cs
IniWrite ( “文件名”, “字段名”, “键名”, “值” )

文件名:要写入INI的文件名称
字段名 :这个INI 文件中的某个字段名.
键名 :这个INI 文件中的某个键名.
值 :要写入/修改的值.
一个标准的INI文件的结构如下:
[段名]
键名=数值

若目标文件并不存在,则程序将自动创建该文件,键名和字段将被添加到后面部分而且并不按任何规则排列.
如果写入的值含有引号,将会被自动过滤掉. 要保持引号在INI中,请使用两个引号.例如: “”这是一个测试”” 将会把 “这是一个测试” 储存到文件中.
开头和结尾的空白将被自动过滤掉. 要保持空白在文件中, 字符串必须被引号包括. 例如, ” 这是一个测试” 将会储存空白符, 引号会被自动过滤掉.
不可能使用多行的值.

#CE
;IniWrite后面第一个参数是文件名,如果你跟了路径,比如想要创建到桌面上,而你按下面的格式写,则最后得到的是“DesktopTEST.ini”文件
;IniWrite(@DesktopDir&”TEST.ini”, “设置2”, “好人人数”, “B”)

;如果想要写到一个具体的路径,可以直接用完整的路径名称,比如下面
;IniWrite(“C:\Program Files\TEST.ini”, “设置2”, “好人人数”, “B”)

;或者也可以在文件名前面带上“\”,比如下面
;IniWrite(@DesktopDir&”\TEST.ini”, “设置2”, “好人人数”, “B”)
IniWrite(@DesktopDir&”\TEST.ini”, “设置1”, “坏人人数”, “A”)

IniWrite(@DesktopDir&”\TEST.ini”, “设置2”, “好人人数”, “B”)

IniWrite(@DesktopDir&”\TEST.ini”, “设置3”, “懒人人数”, “C”)

IniWrite(@DesktopDir&”\TEST.ini”, “设置3”, “笨人人数”, “D”)

IniWrite(@DesktopDir&”\TEST.ini”, “设置4”, “傻人人数”, “E”)

IniWrite(@DesktopDir&”\TEST.ini”, “设置0”, “死人人数”, “F”)
#cs
;执行结果是:

[设置1]
坏人人数=A
[设置2]
好人人数=B
[设置3]
懒人人数=C
笨人人数=D
[设置4]
傻人人数=E
[设置0]
死人人数=F

可见INI文件只会根据字段名归类,属于同一个字段的按照“键名=数值”依次排列

再次执行不会继续增加,如果后来的字段和前面一样,键名也相同,只有数值不同,则相当于更新数值(比如我再在后面跟一条IniWrite(@DesktopDir&”TEST.ini”, “设置0”, “死人人数”, “G”))则死人人数被更新为G

#ce
#cs
;“我是默认值”表示: 若指定的关键字未被发现则函数将返回此默认值.

Local $var = IniRead(@DesktopDir& “TEST.ini”, “设置2”, “好人人数”, “我是默认值”)
MsgBox(4096, “结果”, $var)

#ce
#cs
;如果想要读取字段信息,则使用IniReadSectionNames
Local $var = IniReadSectionNames(@DesktopDir&”\TEST.ini”)
If @error Then
MsgBox(4096, “”, “错误, 读取INI文件失败.”)
Else
For $i = 1 To $var[0]
MsgBox(4096, “”, “字段名:” & $var[$i])
Next
EndIf
#ce

#cs
;如果想要读取某个节中的所有关键字或值,使用IniReadSection(文件名必须完整,否则就在脚本所在目录寻找了)
Local $var = IniReadSection(@DesktopDir&”\TEST.ini”, “设置3”)

If @error Then
MsgBox(4096, “”, “错误, 读取INI文件失败.”)
Else
For $i = 1 To $var[0][0]
MsgBox(4096, “”, “关键字: ” & $var[$i][0] & @CRLF & “值: ” & $var[$i][1])
Next
EndIf
#ce
;此外还有重命名字段IniRenameSection
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容