VBS从INI文件中只用ADODB.Stream获得一个唯一键名的节名称

问题描述:

我想从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

这是我从其他网站得到的答案(非常感谢你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