
test.vbs:
wscript.quit MsgBox ("Hello"&vbNewLine&"World",0)
funktioniert.
prova.bat:
WScript //Nologo Message.vbs "Hello"&vbNewLine&"World" 0
Nachricht.vbs:
wscript.quit MsgBox (wscript.arguments(0),wscript.arguments(1))
funktioniert nicht (Warum?).
prova.bat (ohne Zeilenumbruch)
WScript //Nologo Message.vbs "Hello World" 0
funktioniert.
Antwort1
In einem VBS-Skript &
bedeutet das Et-Zeichen „verketten“ (verbinden) und vbNewLine
ist eine definierte Konstante.
In einer Batchdatei bedeutet das Et-Zeichen „Führen Sie dies aus, nachdem der vorherige Befehl abgeschlossen ist“ und vbNewLine
ist undefiniert.
Der Kontext ist hier alles, und Sie müssen herausfinden, was Sie übergeben und was die Operatoren und Variablen in jedem Kontext bedeuten. Einer der obigen Kommentare bietet eine praktikable Möglichkeit, die Eingabe aus einem Kontext zu übernehmen und in den anderen Kontext zu konvertieren.
Antwort2
Dim Messaggio
Messaggio = Replace(wscript.arguments(0),"\n",vbNewLine)
wscript.quit MsgBox(Messaggio,wscript.arguments(1))
Eignet sich perfekt für Universal Message Box mit Batch! ;-)
Mit Rückgabewert in %errorlevel% bei Auswahl.
Danke an alle!