⑴ 如何判斷ini文件中section中key的個數
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命令.