AutoHotkey如何循环读取ini文件里所有section的所有key值
来源:互联网 发布:hpv报告单怎么看数据 编辑:程序博客网 时间:2024/05/16 08:42
IniRead, OutputVar, Filename, Section, Key [, Default]iniread只能读取指定section指定key值。在不知道section名称和key名称的情况下如何循环读取所有的值?
举报|2014-05-31 14:57提问者采纳
FileSelectFile, file, , , 请选择ini文件, ini配置文件(*.ini) ;选择文件
if
file=
{
MsgBox,
0
, 错误, 您为选择任何文件
Reload
}
sections =
FileRead, filecontent, %file% ;加载文件到变量
StringSplit, line, filecontent, `n, , ;用函数分割变量为数组
Loop ;循环
{
if
A_Index > %line0%
Break
content = % line%A_Index% ;赋值当前行
StringReplace, content, content, `r, , All ;替换特殊字符
FSection := RegExMatch(content,
"\[.*\]"
) ;正则表达式匹配section
if
FSection =
1
;如果找到
{
TSection := RegExReplace(content,
"\[(.*)\]"
,
"$1"
) ;正则替换并赋值临时section $为向后引用
sections = %sections%%TSection%| ;用|串接所有section 方便使用列出
%TSection%keys =
}
Else
{
FKey := RegExMatch(content,
".*=.*"
) ;正则表达式匹配key
if
FKey =
1
{
TKey := RegExReplace(content,
"(.*)=.*"
,
"$1"
) ;正则替换并赋值临时key
StringReplace, TKey, TKey, ., _, All
TKey2=%Tkey%|
%TSection%keys = % %TSection%keys TKey2 ;;用|串接当前section下所有key 方便使用列出
TValue := RegExReplace(content,
".*=(.*)"
,
"$1"
) ;正则替换并赋值临时value
%TSection%_%TKey%=%TValue%
}
}
}
ListVars ;调试情况 列出所有变量
Pause
需要再把串起来的section\key分割成数组请使用Stringsplit命令.
原文摘自:http://zhidao.baidu.com/link?url=hwTXNFFnSKHwstBo15cYy6z6zsBIQpUYtepNNg_ifW_Rpl1XtVnTF9qb5oVFRHG6gXOXPAIVZ56LiZbuooAY0dgt69eE0dOmnLKNtrkTay3
0 0
- AutoHotkey如何循环读取ini文件里所有section的所有key值
- 获取ini文件所有section
- C#中读取配置文件ini中的所有Section 以及制定Section下的所有Keys
- ObjectInputStream 如何循环读取所有的对象
- Matlab 读取文件夹里所有的文件
- Matlab 读取文件夹里所有的文件
- 如何读取所有文件夹下的所有文件
- 【原创】读取INI中所有节点的值
- [原创]删除Ini文件中Section下的某个Key
- Matlab 读取文件夹里所有的文件[转载]
- java读取文件夹里的所有xml文件内容
- android读取指定文件夹里的所有文件
- matlab读取文件夹里所有文件的文件名
- 关于sscanf和strtol的用法以及在ini文件中读取section,key,value的用法
- java 循环读取一个指定文件夹下的所有文件
- 使用循环取出Map所有的key和value值
- ini文件读写模块(可以穷举一个ini文件里的所有段名和指定段的键名/键值)
- 获取ini文件中所有块的特定字段值
- 高效访问数据库—SQL语言技术
- 一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构
- 代码的坏味道(1)—重构改善代码的既有设计
- Activity的生命周期详述
- 代码的坏味道(2)—重构改善代码的既有设计
- AutoHotkey如何循环读取ini文件里所有section的所有key值
- Cocos Studio 发布手机游戏踩坑之路【先留坑f】
- ITEye博客已搬至CSDN
- ubuntu 11.04上安装matlab r2011b
- 二叉树遍历之中序遍历(源代码)
- 关于相机标定意义和原理的个人总结
- Android获取WIFI状态下的IP地址以及MAC地址
- CorelDRAW中的背景模糊效果该怎么进行制作
- UDP协议的数据传输