
測試.vbs:
wscript.quit MsgBox ("Hello"&vbNewLine&"World",0)
作品。
普羅瓦.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% 中。
非常感謝!