2017-09-22 76 views
1

我想從INI文件中只找到一個唯一鍵名的節名,使用ADODB.Stream而不是腳本。與FileSystemObject的字符集 「_autodetect_all」VBS從INI文件中只用ADODB.Stream獲得一個唯一鍵名的節名稱

我的ini文件:

... 
... 
... 

[Area.104] 
Title=Central North America 
Local=Scenery\NAMC Layer=104 
Active=TRUE 
Required=FALSE 

[Area.105] 

Local=Scenery\NAME 
Layer=105 
Active=TRUE 
Required=FALSE 
Title=Eastern North America 

[Area.106] 
Local=Scenery\NAMW 
Layer=106 
Title=Western North America 
Active=TRUE 
Required=FALSE 

... 
... 
... 

我怎樣才能得到部分名稱[Area.105]從唯一的密鑰標題=東部東北 美國???密鑰隨機排列。由於

+1

[INI文件的可能的複製 - 檢索部分名稱由VBS中的關鍵名稱](https://stackoverflow.com/questions/46360950/ini-file-retrieve-a-section-name-by-key-name-in-vbs) – Lankymart

+0

有一個很大的區別,因爲我問與ADODB.Stream的代碼。 –

+1

這幾乎就好像你問了一個問題,得到的答案不太合適,只是決定寫另一個問題,希望有人會給你答案。你甚至寫了任何代碼,[mcve]怎麼樣?至於**大**的區別,這是有爭議的。至少你應該修改你的原始問題來包含'ADODB.Stream'的要求,而不是創建一個重複的問題。 – Lankymart

回答

2

這是我從其他網站得到的答案(非常感謝你omen999)

此代碼工作完全與ADODB

Dim TitleName 
TitleName = Array("Central North America") 
Set IniStream=CreateObject("ADODB.Stream") 
IniStream.Open 
Inistream.Charset="_autodetect_all" 
IniStream.LoadFromFile "Area.ini" 
IniFile=IniStream.ReadText 
PosEnd=InStrRev(IniFile,"]",InStrRev(IniFile,TitleName(0))) 
PosStart=InStrRev(IniFile,"[",PosEnd)+1 
Wscript.Echo Mid(IniFile,PosStart,PosEnd-PosStart) 
IniStream.Close