如何在批处理文件中运行多个命令?

9
我正在一个批处理文件中使用以下命令。当我尝试使用Finalbuilder项目中的Execute操作运行它时,只运行了第一个命令。因此,我计划将每个命令放入不同的批处理文件中。请问是否可以帮助我在单个批处理文件运行所有命令,并延迟执行(如果需要)?
命令:
   dnvm list
   dnvm install 1.0.0-beta8
   dnvm use 1.0.0-beta8 –p
   dnvm -Args alias default 1.0.0-beta8

当我在FinalBuilder项目中使用Execute操作运行批处理文件时,执行最后一个命令时出现以下错误:
错误:Invoke-Expression: 无法找到接受参数的位置参数。
2个回答

18
call dnvm list
call dnvm install 1.0.0-beta8
call dnvm use 1.0.0-beta8 –p
call dnvm -Args alias default 1.0.0-beta8

call会执行目标,当它终止时会返回到批处理文件的下一行。


嗨Magoo,第三个命令没有运行。你能帮忙吗?我认为第三个命令被跳过了。 - Karthi
当我运行包含所有命令的bat文件时,-p无法被识别。但是,当我在一个包含以下内容的bat文件中单独运行第三个命令时,它可以正常工作。dnvm use 1.0.0-beta8 $–p - Karthi
我不知道 dnvm 是什么或者它如何解释参数。 - Magoo
这应该是被接受的答案,肯定为我节省了很多时间。 - Biplob Biswas

0
你可以尝试在每行前添加“START /WAIT”。像这样:
START "" /WAIT "dnvm list"
START "" /WAIT "dnvm install 1.0.0-beta8"
START "" /WAIT "dnvm use 1.0.0-beta8 –p"
START "" /WAIT "dnvm -Args alias default 1.0.0-beta8"

它不起作用。正如我之前所说,只有第一个命令被执行了。 - Karthi
我很惊讶它能正常工作。Start会将它看到的第一组引号视为窗口标题,因此在/WAIT之前需要加上"" - SomethingDark
2
@lobiZoli,虽然在帮助文件中它可能显示为可选参数,但我无法告诉您有多少次批处理文件在尝试运行某些可执行文件时失败,而没有一个空的引号集。 - Squashman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接