我在将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仅仅因为你*可以*将尖锐和尖锐的物体插入你的身体并不意味着你*应该*。 –