我试图搜索我遇到的问题,但无法在网上找到任何问题。 她是我想要做的:当我运行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
答案 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”和参数之间有空格/空格。