Verwenden von Befehlszeilenargumenten in VBscript

Antworten:

84
Set args = Wscript.Arguments

For Each arg In args
  Wscript.Echo arg
Next

Führen Sie das Skript an einer Eingabeaufforderung folgendermaßen aus:

CSCRIPT MyScript.vbs 1 2 A B "Arg with spaces"

Gibt Ergebnisse wie diese:

1
2
A
B
Arg with spaces
Aphorie
quelle
19
Sie können direkt mit darauf zugreifen WScript.Arguments.Item(0). Element 0 ist nicht der Name des Befehls (wie in anderen Sprachen). In Aphorias Beispiel oben wäre es die Zeichenfolge "1".
Alexander Bird
50

Wenn Sie direkten Zugriff benötigen:

WScript.Arguments.Item(0)
WScript.Arguments.Item(1)
...
Jerther
quelle
4
Sie können eine Datei auch per Drag & Drop in ein Skript im Explorer ziehen, wodurch das Skript ausgeführt wird, wobei das erste Argument auf den Dateipfad und -namen festgelegt wird.
Simon Sellick
6
Vielleicht möchten Sie damit verwenden WScript.Arguments.Count.
BuvinJ
Wie würde ich ein Array-Objekt übergeben, z. B. ein JSON-Objekt, das denselben Ansatz verwendet, dh mit WScript.Arguments?
Joseph