VBS获取Ini配置文件一个节点下的所有字段的值

简介: ''* 功能:使用VBS读取ini文件中指定节点下的所有值'* 输入参数:inipath :ini文件的地址'*           initypes :ini文件中包含在"["和"]"之间的值'* 返回值:找到的字段的值组成的array'* 编写人:  chenyb'* 编写日期:2008-12-...

'
'* 功能:使用VBS读取ini文件中指定节点下的所有值
'* 输入参数:inipath :ini文件的地址
'*           initypes :ini文件中包含在"["和"]"之间的值
'* 返回值:找到的字段的值组成的array
'* 编写人:  chenyb
'* 编写日期:2008-12-26
'* 其他说明:以下只是方法,具体问题具体修改
'
Function vbsGetIniFields(inipath,initypes)
 Const ForReading = 1 '定义常量
 'FSO对象,文本对象,下一行数据变量,字串搜索位置
 Dim objFSO,objTextFile,strNextLine,intLineFinder
 Dim state  '指定是否在匹配的initypes中是否找到字段
 Dim tmp    '临时存储字符串
 Dim typeList '分割字符串后的字串list
 Dim rsStr    '函数返回值
 Set objFSO = CreateObject("Scripting.FileSystemObject") '建立FSO对象
 Set objTextFile = objFSO.OpenTextFile(inipath, ForReading)'打开文档
 Do Until objTextFile.AtEndOfStream   '遍历每一行
  strNextLine = objTextFile.ReadLine '读取一行数据
  '如果已经找到了initypes,又找到了"[]",那说明字段未找到
  If InStr(strNextLine, "[") <> 0 And InStr(strNextLine, "]") <> 0 Then
      If state = 1 Then
          Exit DO
      End if
      tmp = Trim(Mid(Trim(strNextLine),InStr(strNextLine, "[")+1,Len(initypes)))    
      if tmp = Trim(initypes) Then '找到了initypes  
          state = 1
          strNextLine = objTextFile.ReadLine
      End if
  End if
  
  If state = 1 Then  
   intLineFinder = InStr(strNextLine,"=") '搜索字符串中的"="
   If intLineFinder <> 0 Then '如果找到"="
       typeList = Split(strNextLine,"=") '分割字符串
       rsStr =rsStr & ",""" & typeList(1) & """" '赋值 
   End If
  End if
 Loop 
 objTextFile.Close '关闭文档
 Execute "vbsGetIniFields = Array(" & right(rsStr,Len(rsStr) - 1) & ")" '返回值
End Function
'***********使用示例******************************
Dim t
t = vbsGetIniFields("公诉.ini","包括VBS")
MsgBox UBound(t)
MsgBox t(0)
MsgBox t(1)
'*************************************************

技术改变世界! --狂诗绝剑
目录
相关文章
|
Windows
解决 在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配
不用 “netsh winsock reset” 命令解决 “在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配”
解决 在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配
|
6月前
|
Linux Shell
Linux脚本获取输入参数判断文件还是文件路径
Linux脚本获取输入参数判断文件还是文件路径
36 4
|
6月前
使用 gopkg.in/ini.v1 包处理 INI 文件时,你可以使用 Section.HasKey 方法来检查某个 Section 中是否存在指定的 key
使用 gopkg.in/ini.v1 包处理 INI 文件时,你可以使用 Section.HasKey 方法来检查某个 Section 中是否存在指定的 key
|
PHP
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
2170 0
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
|
存储 Java C语言
手把手教你实现类似ini4j的方式创建读取和修改.ini文件(支持section)
手把手教你实现类似ini4j的方式创建读取和修改.ini文件(支持section)
125 0
|
存储 API 数据格式
Qt通过QSttings类读取*.ini配置文件
Qt通过QSttings类读取*.ini配置文件
212 0
|
C#
C# 不重启程序修改并保存配置文件(appSettings节点)
原文:C# 不重启程序修改并保存配置文件(appSettings节点) private static void UpdateAppConfig(string newKey, string newValue) { bool isModified = false; foreach (string key in ConfigurationManager.
1658 0