
테스트.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%에 반환 값이 있습니다.
전혀 감사합니다!