如何读取配置文件配置项的实现代码主要分为以下几个步骤:
- 读取配置文件名:
'读取配置文件名
Dim configFile
configFile = "config.ini"
首先,我们需要定义一个变量来存储配置文件的名字,这里我们将配置文件名设置为config.ini。config.ini文件正确放置在VBS文件的同一目录下。
- 读取配置项
读取配置项有两种方法:使用FileSystemObject或ADODB.Stream对象。下面分别介绍这两种方法:
使用FileSystemObject读取:
'使用FileSystemObject读取配置项
Dim fso, file, str
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(configFile, 1)
While Not file.AtEndOfStream
str = file.ReadLine()
'判断读取到的行是否为注释
If Left(str,1) = "#" Then
'如果是注释行,继续读取下一行
Continue While
End If
'处理读取到的非注释行
'...
Wend
file.Close
Set fso = Nothing
此方法需要使用FileSystemObject对象来操作文件,其中OpenTextFile方法是用来打开文件的。然后使用While循环和ReadLine方法逐行读取配置文件,判断并去除注释行。在此基础上,就可以按照实际需求处理读取到的非注释行。
使用ADODB.Stream对象读取:
'使用ADODB.Stream对象读取配置项
Dim stream, line, arrLine
Set stream = CreateObject("ADODB.Stream")
stream.Charset = "utf-8"
stream.Type = 2
stream.Open
stream.LoadFromFile configFile
Do While Not stream.EOS
line = stream.ReadText(-2) '读取一行
'判断读取到的行是否为注释
If Left(line,1) = "#" Then
'如果是注释行,继续读取下一行
Continue Do
End If
'处理读取到的非注释行
'...
Loop
stream.Close
Set stream = Nothing
这种方法需要使用ADODB.Stream对象来操作文件,其中LoadFromFile方法是用来加载文件的。然后使用Do While循环和ReadText方法逐行读取配置文件,判断并去除注释行。在此基础上,就可以按照实际需求处理读取到的非注释行。
示例1:
在config.ini文件中设置以下配置项:
#这是注释行
[SectionName]
KeyName1=Value1
KeyName2=Value2
然后使用上述代码读取配置项:
'使用FileSystemObject读取配置项
Dim fso, file, str
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(configFile, 1)
Dim sectionName, keyValue
While Not file.AtEndOfStream
str = file.ReadLine()
'判断读取到的行是否为注释
If Left(str,1) = "#" Then
'如果是注释行,继续读取下一行
Continue While
End If
'处理读取到的非注释行
If InStr(str, "[") = 1 And InStr(str, "]") > 1 Then
sectionName = Mid(str, 2, InStr(str, "]") - 2)
'处理SectionName
'...
Else
keyValue = Split(str, "=")
'处理KeyName和Value
'...
End If
Wend
file.Close
Set fso = Nothing
以上代码可以读取config.ini文件中的SectionName和KeyName的值,并进行处理。
示例2:
在config.ini文件中设置以下配置项:
#这是注释行
[SectionName]
KeyName1=Value1
KeyName2=Value2
然后使用ADODB.Stream对象读取配置项:
'使用ADODB.Stream对象读取配置项
Dim stream, line, arrLine
Set stream = CreateObject("ADODB.Stream")
stream.Charset = "utf-8"
stream.Type = 2
stream.Open
stream.LoadFromFile configFile
Dim sectionName, keyValue
Do While Not stream.EOS
line = stream.ReadText(-2) '读取一行
'判断读取到的行是否为注释
If Left(line,1) = "#" Then
'如果是注释行,继续读取下一行
Continue Do
End If
If InStr(line, "[") = 1 And InStr(line, "]") > 1 Then
sectionName = Mid(line, 2, InStr(line, "]") - 2)
'处理SectionName
'...
Else
keyValue = Split(line, "=")
'处理KeyName和Value
'...
End If
Loop
stream.Close
Set stream = Nothing
以上代码可以读取config.ini文件中的SectionName和KeyName的值,并进行处理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VBS读取配置文件配置项的实现代码 - Python技术站