在批处理文件中将多个命令传递给START命令

时间:2018-01-11 04:46:47

标签: windows batch-file cmd echo

我正在使用start从批处理文件中运行命令。

SET mycmd=SOME_CMD WITH ARGS
START "Demo" %mycmd%

这很好,并且在执行mycmd的内容后生成的cmd窗口仍然存在,即使双击批处理文件 - 这也是我使用start开始的原因。

但是,我还希望在运行命令之前在start打开的新cmd窗口中打印一些内容。

我想我会通过启动一个echo命令,然后是我希望它运行的命令。


我的第一个天真的方法如下:

SET mycmd=SOME_CMD WITH ARGS
START "Demo" ECHO Running Command... && %mycmd%

当然这不起作用; start打开一个只运行echo命令的新窗口,&&分隔符在原始窗口中运行后的命令,而不是echo的新命令。跑了进来。

基本上它执行(start echo) && (my_cmd)而不是start (echo && my_cmd) - 为了清晰起见添加了括号,而不是任何实际的句法含义

所以我的问题是:有没有办法一次将两个命令传递给start?具体来说,我真的只想要echo一些内容,然后运行一个命令。

1 个答案:

答案 0 :(得分:3)

&&更改为^&以转义单个&,然后使用您的命令级联echo