2016-08-13 4 views
-1

문제를 검색하려고했지만 온라인으로 찾을 수 없습니다. 그녀는 내가하고 싶은 것입니다. test.vbs 파일을 실행할 때 사용자 입력을 가져 와서 배치 파일에 전달합니다. VBScript 코드 라인 4에서800A01C2 - 인수가 잘못되었거나 속성 지정이 잘못되었습니다.

800A01C2 - Wrong number of arguments or invalid property assignment

:

나는이 오류가 발생했습니다. 출력

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 그렇게 인 객체이며, 여기에

내 Test.vbs를 코드입니다 strInput (과제 별). 문자열 연결 연산자 &은 문자열 (및 문자열이있는 whitvers)을 연결할 수 있지만 객체는 연결할 수 없습니다. 증거 :
>> 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)을 고려하십시오. –

관련 문제