我正在使用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
一些内容,然后运行一个命令。
答案 0 :(得分:3)
将&&
更改为^&
以转义单个&
,然后使用您的命令级联echo
。