我在將VBScript
添加到Batch
文件時遇到問題。 我嘗試這樣做:如何從批處理編寫VBScript?
@echo off
echo MsgBox("Hello")
echo Do
echo MsgBox("Hello")
echo Loop >>msg2.vbs
start msg2.vbs
但它給了我,我用Loop
沒有Do
錯誤。 我在做什麼錯?
我在將VBScript
添加到Batch
文件時遇到問題。 我嘗試這樣做:如何從批處理編寫VBScript?
@echo off
echo MsgBox("Hello")
echo Do
echo MsgBox("Hello")
echo Loop >>msg2.vbs
start msg2.vbs
但它給了我,我用Loop
沒有Do
錯誤。 我在做什麼錯?
你的批處理腳本實際上只追加回路msg2.vbs每次運行文件..
你都應該「VBS」追加行從您的批處理文件是這樣的:
@echo off
echo msgBox("Hello") > msg2.vbs :: > creates file if not exists with: msgBox("Hello")
echo do >> msg2.vbs :: >> appends line with: do
echo msgBox("Hello") >> msg2.vbs :: >> appends line with: msgBox("Hello")
echo loop >> msg2.vbs :: >> appends line with: loop
start msg2.vbs
YAY非常感謝你非常感謝你 –
您的批處理文件不會奇蹟般地知道你想在VBScript中使用哪一行。無論是重定向每個echo
輸出(如agriffaut建議),或在運行命令塊的echo
語句和重定向模塊的整個輸出(這樣你就不必反覆追加):
(
echo MsgBox("Hello"^)
echo Do
echo MsgBox("Hello"^)
echo Loop
)>msg2.vbs
注對於後者,您需要避免關閉塊內的括號。在這種特殊情況下,你可以只刪除它們完全,但:
(
echo MsgBox "Hello"
echo Do
echo MsgBox "Hello"
echo Loop
)>msg2.vbs
另一種選擇是使用單一echo
聲明和逃避的換行符:
>msg2.vbs echo MsgBox "Hello"^
Do^
MsgBox "Hello"^
Loop
注意,空行,這裏需要。
oooh謝謝你 –
沒有必要使用臨時的vbs文件。您可以直接在批處理腳本中嵌入並執行vbs代碼。看看http://stackoverflow.com/q/9074476/1012053 – dbenham
可能重複的[是否可以在批處理文件中嵌入和執行VBScript而不使用臨時文件?](http://stackoverflow.com/問題/ 9074476/is-it-it-it-it-it-emb-and-execute-vbscript-a-batch-file-without-using-a) – Lankymart
@dbenham僅僅因爲你*可以*將尖銳和尖銳的物體插入你的身體並不意味着你*應該*。 –