介绍
怎么在根据中读取配置文件的配置项?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
以下是一个读取配置文件的函数:
本函数仅适用于以下格式的配置文件(,. txt . ini的inf):
[Mark1]
引用>
key1=key1value
key2=key2value
........
[Mark2]
key1=key1value
key2=key2value核心代码
Function GetConfig (FilePath,马克,键) ,Dim 无线光通信,Str_ReadLine ,Set fso =, CreateObject (“Scripting.FileSystemObject") ,& # 39;判断配置文件是否存在 ,If fso.FileExists (FilePath), ,& # 39;初始化配置标记,默认为未找到 Flag =, 0 ,& # 39;打开配置文件 ,Set ConfigFile =, fso.opentextfile (FilePath, 1) ,& # 39;循环读取文件数据行 ,做 Str_ReadLine 才能=ConfigFile.ReadLine WScript.Echo Str_ReadLine才能 & # 39;才能判断读取的数据行是否为空 If 才能Str_ReadLine & lt;在““,然后 & # 39;才能判断读取数据行是否为需要查找的配置开始标记 If 才能LCase(修剪(Str_ReadLine))=?“,,, LCase(马克),,,,)“然后 ,,& # 39;找到配置开始标记 ,,Flag =, 1,, ,,& # 39;循环读取当前配置开始标记下的配置项,直到在当前配置标记下找到所需配置项 ,,& # 39;或下一个配置项开始标记出现时退出 ,才能做 ,,Str_ReadLine =ConfigFile.ReadLine ,,retNum =, InStr (Str_ReadLine“=? ,,& # 39;检查读取的配置项是否有等号 ,,If retNum 祝辞0,那么 ,,,& # 39;判断获取配置项名称是否为所需的配置项 ,,,If 削减(LCase(左(Str_ReadLine retNum-1)))=,修剪(LCase(关键), ,,,& # 39;获取配置项等号后的数据 ,,,GetConfig =,修剪(右(Len (Str_ReadLine) -retNum Str_ReadLine)) ,,,& # 39;找到后,退出函数 ,,,Exit Function ,才能最终获得;如果 ,才能最终获得 ,,& # 39;判断当前是否为下一个配置项开始标记 ,,If (InStr (Str_ReadLine,“(“)在0,以及InStr (Str_ReadLine,“]“)在0), ,,,& # 39;标记当前配置项开始标记为下一个配置 ,,,Flag =0 ,,,& # 39;退出函数 ,,,Exit 函数 ,才能最终获得 ,,Loop Until (Flag =, 0,趁机ConfigFile.AtEndOfStream) ,最终获得;如果 最终获得才能If Loop Until ConfigFile.AtEndOfStream ,& # 39;关闭文件 ,ConfigFile.Close ,Set fso =,什么都没有 其他的, ,& # 39;文件未找的到,给出提示信息 ,MsgBox “配置文件“,“[“,,,FilePath 和“]不存在,请检查路径是否正确!” 最终获得;如果 最终获得函数<强>实例:强>
我们需要读取d: \ config \ environment.ini文件的[Computer2]下的IP项的值,文件内容如下:
[Computer1上]
ComputerName=Computer1上
IP=192.168.1.1
[Computer2]
ComputerName=Computer2 IP=192.168.1.2
使用以上函数即可获取
IP =, GetConfig (“d: \ config \ environment.ini",“Computer2",“IP") Msgbox IP关于怎么在根据中读取配置文件的配置项问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
怎么在根据中读取配置文件的配置项