2016-07-18 50 views
-2

我有这个简单的VBScript基本代码。如何将2数组放在config(.ini)文件中?

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文件的方式,数组变量仍然在比赛。 (例如沃尔沃苹果沃尔沃苹果)任何人都知道或有想法做到这一点?

我试图在互联网上搜索这个,但没有这个主题。对答案大加赞赏。

+0

看看[INI文件的结构](https://en.wikipedia.org/wiki/INI_file#Example)并相应地写出内容,没有什么特别的,[I已经向您展示了如何输出数组的内容](http://stackoverflow.com/a/38394720/692942)。现在由您来构建INI格式。 – Lankymart

回答

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 

而且从帮助一个记录

保存方法保存记录在文件或Stream对象。

语法

recordset.Save Destination, PersistFormat 

参数

目的地可选。表示完整路径的变体 要保存Recordset的文件的名称或对Stream对象的引用。

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

+0

嗨面条,什么.ini文件看起来像?这是最重要的。谢谢。 – Djamille

+0

你只需保存并加载它。 –

+0

他们想要将数组输出为INI格式,而不是将INI文件读入脚本。最好使用断开的记录集的好处可以忽略不计。 – Lankymart