CMD의 vbscript에서 다중 인수 배치 파일을 실행하는 방법은 무엇입니까?

CMD의 vbscript에서 다중 인수 배치 파일을 실행하는 방법은 무엇입니까?

3개의 인수가 있는 "ClockTalk.bat"라는 배치 파일이 있습니다.

nircmd.exe speak text "Attention it's now %1 %2, %3 Hours remain to the end of the day" -3

나는 숨겨진 dos 화면이 있는 배치 파일을 실행하기 위해서만 "HideBat.vbs"라는 vbscript를 사용합니다.

'HideBat.vbs
CreateObject("Wscript.Shell").Run "ClockTalk.bat" & WScript.Arguments(0) & WScript.Arguments(1) & WScript.Arguments(2), 0, False

다음과 같이 명령줄에서 실행합니다.

HideBat.vbs 12 10 am

그리고 항상 오류가 발생합니다. 시스템이 지정된 파일을 찾을 수 없습니다.

또는 다음과 같이 실행하면:

HideBat.vbs "12 10 am"

항상 오류가 발생합니다: 아래 첨자가 범위를 벗어났습니다.

그러면 내 파일에 무엇이 잘못되었으며, vbscript에서 배치 파일을 실행하고 명령줄에서 세 가지 인수를 전달하는 방법은 무엇입니까?

답변1

인수 사이의 공백을 고려하는 것을 잊었습니다. 따라서 합법적인 파일이 아닌 을 실행하려고 하므로 HideBat.vbs1210am"시스템이 지정된 파일을 찾을 수 없습니다." 오류가 발생합니다.

실행하면 단일 인수로 HideBat.vbs "12 10 am"제공되도록 만들 수 있습니다 . 12 10 am따라서 VBS 스크립트가 배열의 두 번째 및 세 번째 인수를 참조하면 해당 인수가 존재하지 않으므로 "아래 첨자가 범위를 벗어났습니다." 오류가 발생합니다.

다음과 같이 시도해 보세요:

CreateObject("Wscript.Shell").Run "ClockTalk.bat " & WScript.Arguments(0) & " " & WScript.Arguments(1) & " " & WScript.Arguments(2), 0, False

...명령 뒤와 인수 사이에 공백을 삽입합니다.

관련 정보