我正在使用this method given by boflynn为上一个问题成功地显示批处理文件中的消息框。
我正在尝试在消息框正文中插入一个回车符,但是我的所有尝试以及引号和Char(13)的组合到目前为止都失败了。
参考上面的链接答案,我正在寻找一个将文本放在多行上的消息框,例如:
This will be shown in a popup
这可能吗?
答案 0 :(得分:1)
VBScript的回车符号有builtin constant vbCr
。将您的(子)字符串与该常量连接,并显示带有结果的消息框:
MsgBox "This will" & vbCr & "be shown" & vbCr & "in a popup"
要显示批处理文件中的多行文本,您需要将每行作为单独的参数传递
cscript MessageBox.vbs "This will" "be shown" "in a popup"
并连接参数
ReDim args(WScript.Arguments.Count-1)
For i = 0 To WScript.Arguments.Count-1
args(i) = WScript.Arguments(i)
Next
MsgBox Join(args, vbCr)
答案 1 :(得分:0)
您可以尝试此示例示例从函数调用MsgBox:
@echo off
set "Msg=Hey !\nHere is a message !\nThis will\n be shown\n in popup\n with multi-lines !"
Rem 64=vbInformation, 48=vbExclamation, 16=vbCritical 32=vbQuestion
set Type=64 48 16 32
Set "Title=Example of MsgBox in batch with vbscript"
For %%a in (%Type%) Do Call:MsgBox "%Msg%" "%%a" "%Title%"
exit /b
::**********************************************************
:MsgBox <Msg> <Type> <Title>
echo MsgBox Replace("%~1","\n",vbCrLf),"%~2","%~3" > "%tmp%\%~n0.vbs"
Cscript /nologo "%tmp%\%~n0.vbs" & Del "%tmp%\%~n0.vbs"
exit /b
::**********************************************************