2013-08-01 55 views
6

Tôi đang cố gắng tham gia các đối số cho một chuỗi được chuyển đến một tập lệnh khác. Sau đây:VBScript cách tham gia WScript.Arguments?

WScript.Echo(Join(WScript.Arguments)) 

mang lại cho tôi một lỗi:

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

Điều gì là sai với cú pháp đó?

Trả lời

8

WshArgument đối tượng không phải là mảng, vì vậy bạn không thể sử dụng Join() trên chúng. Những gì bạn có thể làm là một cái gì đó như thế này:

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

Một giải pháp khác có thể được thực hiện với đối tượng ArrayList từ hệ thống:

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