2016-08-13 59 views
-1

我試圖搜索我有的問題,但無法找到任何聯機。 她是我想做的事情:當我運行test.vbs文件時,我接受用戶輸入,然後將它傳遞給批處理文件。800A01C2 - 錯誤的參數數量或無效的財產分配

我得到這個錯誤:

800A01C2 - Wrong number of arguments or invalid property assignment

在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 

回答

3

WScript.Arguments是一個對象,所以是strInput(按轉讓)。字符串連接運算符&可以連接字符串(和字符串化的發起者),但不能連接對象。證據:

>> 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」和參數之間有一個空格/空格。

+0

非常感謝。這樣可行! – Josie

+0

@Josie如果你發現它解決了你的問題,請考慮[接受答案](http://meta.stackoverflow.com/a/5235)。 –

相關問題