2016-07-18 48 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