从批处理文件中的一个字符串执行多个命令

时间:2017-03-11 11:39:26

标签: string batch-file

出于某种原因,我需要在我的批处理文件中从一个字符串执行多个命令。我试过这段代码:

@echo off
set multipleCommands=echo command1 ^& echo command2 ^& echo command3
echo.
%multipleCommands%
pause

但它给了我这个结果:

command1 & echo command2 & echo command3

我还尝试了另一个代码:

@echo off
set multipleCommands=echo command1 & echo command2 & echo command3
echo.
%multipleCommands%
pause

但是它给了我这个结果(仅因为multipleCommands=echo command1):

command2
command3

command1

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

首先没有理由,&的行为方式与新行上的另一个命令相同。

@Echo Off
Echo=
command1
command2
command3
Pause

然而,你的问题似乎是你在使用echo时感到厌恶!

@Echo Off
Set "multipleCommands=command1 & command2 & command3"
Echo=
%multipleCommands%
Pause

您需要了解每个命令都会在前一个命令关闭后打开。如果您希望它们在您需要使用的同时运行:

Set "multipleCommands=start command1 & start command2 & start command3"