溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么在VBS中讀取配置文件的配置項(xiàng)

發(fā)布時(shí)間:2021-05-24 16:41:09 來(lái)源:億速云 閱讀:204 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

怎么在VBS中讀取配置文件的配置項(xiàng)?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

以下是一個(gè)讀取配置文件的函數(shù):
本函數(shù)僅適用于以下格式的配置文件(.ini,.txt,.inf):

[Mark1]
key1=key1value
key2=key2value
........
[Mark2]
key1=key1value
key2=key2value

核心代碼

Function GetConfig(FilePath,Mark,Key)
 Dim fso, Str_ReadLine
 Set fso = CreateObject("Scripting.FileSystemObject")
 '判斷配置文件是否存在
 If fso.FileExists(FilePath) Then
 '初始化配置標(biāo)記,默認(rèn)為未找到
 Flag = 0
 '打開(kāi)配置文件
 Set ConfigFile = fso.opentextfile(FilePath, 1)
 '循環(huán)讀取文件數(shù)據(jù)行
 Do
  Str_ReadLine = ConfigFile.ReadLine
  WScript.Echo Str_ReadLine
  '判斷讀取的數(shù)據(jù)行是否為空
  If Str_ReadLine <> "" Then
  '判斷讀取數(shù)據(jù)行是否為需要查找的配置開(kāi)始標(biāo)記
  If LCase(Trim(Str_ReadLine))="[" & Lcase(Mark) & "]" Then
   '找到配置開(kāi)始標(biāo)記
   Flag = 1  
   '循環(huán)讀取當(dāng)前配置開(kāi)始標(biāo)記下的配置項(xiàng),直到在當(dāng)前配置標(biāo)記下找到所需配置項(xiàng)
   '或下一個(gè)配置項(xiàng)開(kāi)始標(biāo)記出現(xiàn)時(shí)退出
   Do
   Str_ReadLine = ConfigFile.ReadLine
   retNum = InStr(Str_ReadLine,"=")
   '檢查讀取的配置項(xiàng)是否有等號(hào)
   If retNum > 0 Then
    '判斷獲取配置項(xiàng)名稱(chēng)是否為所需的配置項(xiàng)
    If Trim(LCase(Left(Str_ReadLine,retNum-1)))= Trim(LCase(Key)) Then
    '獲取配置項(xiàng)等號(hào)后的數(shù)據(jù)
    GetConfig = Trim(Right(Str_ReadLine,Len(Str_ReadLine)-retNum))
    '找到后,退出函數(shù)
    Exit Function 
    End If
   End If
   '判斷當(dāng)前是否為下一個(gè)配置項(xiàng)開(kāi)始標(biāo)記
   If (InStr(Str_ReadLine,"[")>0 And InStr(Str_ReadLine,"]")>0) Then
    '標(biāo)記當(dāng)前配置項(xiàng)開(kāi)始標(biāo)記為下一個(gè)配置
    Flag = 0
    '退出函數(shù)
    Exit Function
   End If
   Loop Until (Flag = 0 Or ConfigFile.AtEndOfStream)
  End If
  End If 
 Loop Until ConfigFile.AtEndOfStream
 '關(guān)閉文件
 ConfigFile.Close
 Set fso = Nothing
 Else
 '文件未找到,給出提示信息
 MsgBox "配置文件"&"[" & FilePath &"]不存在,請(qǐng)檢查路徑是否正確."
 End If
End Function

實(shí)例:

我們需要讀取d:\config\environment.ini文件的[Computer2]下的IP項(xiàng)的值,文件內(nèi)容如下:

[Computer1]
ComputerName=Computer1
IP=192.168.1.1
[Computer2]
ComputerName=Computer2
IP=192.168.1.2

使用以上函數(shù)即可獲取

IP = GetConfig("d:\config\environment.ini","Computer2","IP")
Msgbox IP

關(guān)于怎么在VBS中讀取配置文件的配置項(xiàng)問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vbs
AI