VBScript MsgBox newline do argumento em lote

0

test.vbs:

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

funciona.

prova.bat:

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

Message.vbs:

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

não funciona (Por quê?).

prova.bat (sem nova linha)

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

funciona.

    
por Riccardo La Marca 24.08.2017 / 20:59

2 respostas

1

Em um script VBS, o e comercial & significa "concatenar" (união) e vbNewLine é uma constante definida.

Em um arquivo em lote, oe comercial significa "execute isto após o término do comando anterior" e vbNewLine é indefinido.

O contexto é tudo aqui, e você precisa descobrir o que é que está passando e o que os operadores e as variáveis em cada contexto significam. Um dos comentários acima oferece uma maneira viável de pegar a entrada de um contexto e convertê-lo para outro contexto.

    
por 24.08.2017 / 22:25
0
Dim Messaggio
Messaggio = Replace(wscript.arguments(0),"\n",vbNewLine)
wscript.quit MsgBox(Messaggio,wscript.arguments(1))

É perfeito para o Universal Message Box com lote! ;-)
Com valor de retorno em% errorlevel% em caso de escolha.
Obrigado a todos!

    
por 25.08.2017 / 19:15