일괄 인수의 Vbscript MsgBox 개행

일괄 인수의 Vbscript MsgBox 개행

테스트.vbs:

wscript.quit MsgBox ("Hello"&vbNewLine&"World",0)

공장.

prova.bat:

WScript //Nologo Message.vbs "Hello"&vbNewLine&"World" 0

메시지.vbs:

wscript.quit MsgBox (wscript.arguments(0),wscript.arguments(1))

작동하지 않습니다(왜?).

prova.bat(개행 없음)

WScript //Nologo Message.vbs "Hello World" 0

공장.

답변1

VBS 스크립트에서 앰퍼샌드는 &"연결"(결합)을 의미하며 vbNewLine정의된 상수입니다.

배치 파일에서 앰퍼샌드는 "이전 명령이 완료된 후 실행"을 의미하며 vbNewLine정의되지 않습니다.

여기서는 컨텍스트가 전부이므로 전달하는 것이 무엇인지, 각 컨텍스트의 연산자와 변수가 무엇을 의미하는지 파악해야 합니다. 위의 설명 중 하나는 한 컨텍스트에서 입력을 가져와 다른 컨텍스트로 변환하는 실행 가능한 방법을 제공합니다.

답변2

Dim Messaggio
Messaggio = Replace(wscript.arguments(0),"\n",vbNewLine)
wscript.quit MsgBox(Messaggio,wscript.arguments(1))

배치 기능이 있는 범용 메시지 상자에 딱 맞습니다! ;-)
선택한 경우 %errorlevel%에 반환 값이 있습니다.
전혀 감사합니다!

관련 정보