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% 中。
非常感谢!

相关内容