我正在尝试将参数连接到要传递给另一个脚本的字符串。以下内容:
WScript.Echo(Join(WScript.Arguments))
给了我一个错误:
Error: Wrong number of arguments or invalid property assignment
Code: 800A01C2
该语法有什么问题?
答案 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等将其删除到批处理文件中。