2013-08-01 11 views
6

Ich versuche, die Argumente zu einem String zu verbinden, um an ein anderes Skript übergeben zu werden. In der folgenden:VBScript, wie man WScript.Arguments verbindet?

WScript.Echo(Join(WScript.Arguments)) 

gibt mir eine Fehlermeldung:

Error: Wrong number of arguments or invalid property assignment 
Code: 800A01C2 

Was ist mit dieser Syntax falsch ist?

Antwort

8

WshArgument Objekte sind keine Arrays, Sie können also Join() nicht verwenden. Was Sie tun können, ist so etwas wie dieses:

ReDim arr(WScript.Arguments.Count-1) 
For i = 0 To WScript.Arguments.Count-1 
    arr(i) = WScript.Arguments(i) 
Next 

WScript.Echo Join(arr) 
2

Eine andere Lösung kann mit Arraylist-Objekt aus dem System durchgeführt werden:

Set oAL = CreateObject("System.Collections.ArrayList") 
For Each oItem In Wscript.Arguments: oAL.Add oItem: Next 
WScript.Echo Join(oAL.ToArray, " ")