如何在config(.ini)文件中放入2个数组?

时间:2016-07-18 01:35:03

标签: arrays loops vbscript config ini

我有这个简单的VBScript基本代码。

Dim cars: cars = Array("Volvo", "Saab", "BMW")
Dim fruits: fruits = Array("Apple", "Orange", "Banana")

Dim i: i = 0

For i = 0 To UBound(cars)
  Call Response.Write(cars(i) & " " & fruits(i))
Next

输出:

Volvo Apple
Saab Orange
BMW Banana

我希望将所有变量放在配置 .ini文件中,使数组变量仍然匹配。 (例如 Volvo Apple Volvo Apple )任何人都知道或有想法这样做?

我试图在互联网上搜索这个,但没有这个主题。非常感谢答案。

1 个答案:

答案 0 :(得分:0)

使用断开连接的记录集而不是使用数组。它们可以二进制或xml格式保存到文件中。

这会将行存储在文件中,然后对行号上的记录集进行排序并将其写回。

set WshShell = createObject("Wscript.Shell")
Set Inp = WScript.Stdin
Set Outp = Wscript.Stdout
Dim LineCount
Set rs = CreateObject("ADODB.Recordset")
With rs
    .Fields.Append "LineNumber", 4 
    .Fields.Append "Txt", 201, 5000 
    .Open
    LineCount = 0
    Do Until Inp.AtEndOfStream
        LineCount = LineCount + 1
        .AddNew
        .Fields("LineNumber").value = LineCount
        .Fields("Txt").value = Inp.readline
        .UpDate
    Loop
    .Sort = "LineNumber DESC"
    Do While not .EOF
        Outp.writeline .Fields("Txt").Value
        .MoveNext
    Loop
End With

使用

cscript //nologo file.vbs < %windir%\win.ini

来自记录集的帮助

  

保存方法将Recordset保存在文件或Stream对象中。

     

语法

 recordset.Save Destination, PersistFormat 
     

参数

     

目的地可选。表示完整路径的Variant   要保存Recordset的文件的名称,或对其的引用   一个Stream对象。

     

PersistFormat可选。 PersistFormatEnum值   指定保存Recordset的格式(XML   或ADTG)。默认值为adPersistADTG。备注