800A01C2 - 参数数量错误或属性分配无效

时间:2016-08-13 16:41:52

标签: batch-file vbscript

我试图搜索我遇到的问题,但无法在网上找到任何问题。 她是我想要做的:当我运行test.vbs文件时,我接受用户输入然后将其传递给批处理文件。

我收到了这个错误:

  

800A01C2 - 参数数量错误或属性分配无效

在VBScript代码的第4行。

这是我的test.vbs代码:

Set WshShell = CreateObject("WScript.Shell")
strInput = InputBox("Please enter the date (yyyymmdd)", "Enter Date")
set strInput = WScript.Arguments
WshShell.Run "mybatch.bat" & strInput, 0

只是一个简单的代码,用于输出从vbs传递到批处理文件的参数:

echo Parameter = %1 > Var.txt

1 个答案:

答案 0 :(得分:3)

WScript.Arguments是一个对象,strInput(通过赋值)也是如此。字符串连接运算符&可以连接字符串(和字符串化的whatevers),但不能连接对象。证据:

>> a = "a " & WScript.Arguments
>>
Error Number:       450
Error Description:  Wrong number of arguments or invalid property assignment

所以

WshShell.Run "mybatch.bat" & strInput, 0

必须失败。因此,请删除作业并使用从InputBox()函数中获取的字符串,或访问Arguments集合中的项目(不含Set)。

在任何情况下都要确保“mybatch.bat”和参数之间有空格/空格。