VBScript如何加入WScript.Arguments?

时间:2013-08-01 23:18:36

标签: windows-7 vbscript command-line-arguments

我正在尝试将参数连接到要传递给另一个脚本的字符串。以下内容:

WScript.Echo(Join(WScript.Arguments))

给了我一个错误:

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

该语法有什么问题?

3 个答案:

答案 0 :(得分:7)

WshArgument个对象不是数组,因此您不能对它们使用Join()。你能做的就是这样:

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

WScript.Echo Join(arr)

答案 1 :(得分:2)

可以使用系统中的ArrayList对象完成另一个解决方案:

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

答案 2 :(得分:0)

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

这将为每个参数添加引号, 然后可以使用%〜1等将其删除到批处理文件中。