2016-07-18 6 views
-2

Ich habe diesen einfachen Grundcode von VBScript.Wie setze ich ein 2-Array in die Konfigurationsdatei (.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 

Ausgang:

Volvo Apple 
Saab Orange 
BMW Banana 

Ich mag die Variablen all in einer Config-INI-Datei in einer Art und Weise setzen, dass das Array-Variable in Übereinstimmung immer noch ist. (z. B. Volvo und Apple für Volvo Apple) Wer weiß, oder haben Sie eine Idee, es zu tun?

Ich habe versucht, im Internet dafür aber kein Thema für dieses zu suchen. Eine große Wertschätzung für die Antwort.

+0

Schauen Sie sich einfach die [Struktur einer INI-Datei] an (https://en.wikipedia.org/wiki/INI_file#Example) und schreiben Sie den Inhalt entsprechend, da ist nichts besonderes daran, [I habe dir schon gezeigt, wie du den Inhalt der Arrays ausgeben kannst (http://stackoverflow.com/a/38394720/692942). Es liegt jetzt an Ihnen, das INI-Format zu erstellen. – Lankymart

Antwort

0

Anstatt ein Array zu verwenden, verwenden Sie ein getrenntes Re-Cord-Set. Sie können in einer Datei im Binär- oder XML-Format gespeichert werden.

Dies speichert Zeilen in einer Datei, sortiert dann das Recordset nach Zeilennummer und schreibt es zurück.

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 

Um

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

Und von Hilfe für ein Re-Cord-

Save-Methode Speichert das Recordset in einer Datei oder einem Stream-Objekt zu verwenden.

Syntax

recordset.Save Destination, PersistFormat 

Parameter

Destination Optional. Eine Variante, die den vollständigen Pfad darstellt Name der Datei, in der das Recordset gespeichert werden soll, oder eine Referenz auf eines Stream-Objekts.

PersistFormat Optional. Ein PersistFormatEnum-Wert , der das Format angibt, in dem das Recordset gespeichert werden soll (XML oder ADTG). Der Standardwert ist adPersistADTG. Bemerkungen

+0

Hallo Nudeln, wie sieht die .ini-Datei aus? Das ist das Wichtigste. Vielen Dank. – Djamille

+0

Sie speichern und laden Sie es einfach. –

+0

Sie möchten ein Array in ein INI-Format ausgeben und keine INI-Datei in das Skript einlesen. Der Vorteil der Verwendung eines getrennten Recordset ist im besten Fall vernachlässigbar. – Lankymart

Verwandte Themen