
prueba.vbs:
wscript.quit MsgBox ("Hello"&vbNewLine&"World",0)
obras.
prueba.bat:
WScript //Nologo Message.vbs "Hello"&vbNewLine&"World" 0
Mensaje.vbs:
wscript.quit MsgBox (wscript.arguments(0),wscript.arguments(1))
no funciona (¿Por qué?).
prova.bat (sin nueva línea)
WScript //Nologo Message.vbs "Hello World" 0
obras.
Respuesta1
En un script VBS, el signo &
significa "concatenar" (unir) y vbNewLine
es una constante definida.
En un archivo por lotes, el signo significa "ejecutar esto después de finalizar el comando anterior" y vbNewLine
no está definido.
El contexto lo es todo aquí, y necesita descubrir qué es lo que está pasando y qué significan los operadores y variables en cada contexto. Uno de los comentarios anteriores ofrece una forma viable de tomar la entrada de un contexto y convertirla al otro contexto.
Respuesta2
Dim Messaggio
Messaggio = Replace(wscript.arguments(0),"\n",vbNewLine)
wscript.quit MsgBox(Messaggio,wscript.arguments(1))
¡Es perfecto para Universal Message Box con lote! ;-)
Con valor de retorno en %errorlevel% en caso de elección.
¡Gracias a todos!