windows - 将多个命令传递给批处理文件中的 START 命令

标签 windows batch-file cmd echo

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

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

这工作正常,并且在执行 mycmd 的内容后生成的 cmd 窗口仍然存在,即使双击了批处理文件——我使用 start 的原因开始。

但是我还想在新的 cmd 窗口中打印一些 start 的东西在运行命令之前打开。

我想象我会传递启动一个回显命令,然后是我希望它运行的命令。


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

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输出一些内容,然后运行命令。

最佳答案

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

关于windows - 将多个命令传递给批处理文件中的 START 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48199915/

相关文章:

c - 为什么 sscanf 不适用于这种情况?

c++ - DLL 和 STL 以及静态数据(天哪!)

batch-file - 命令 : for | It won't accept my variable in skip=%var% option

gradle - Gradle Exec Task不是在远程主机上以psql开头

java - Jetty(?) 在 Windows 上破坏大型 js 文件

linux - 重定向到 NUL 或/dev/null 的跨平台兼容方式是什么?

eclipse - 找不到 Eclipse 路径变量中的批处理文件

batch-file - 如何批量检查多个VAR是否存在(从VAR1到VAR10)

windows - 如果 FINDSTR 找不到字符串,如何有条件地采取行动

c# - Windows 7/10 - 使应用程序在不同的显示器上启动