【发布时间】:2016-01-09 19:58:14
【问题描述】:
我有一个案例,我需要生成多个CMD 实例(使用START 程序),并且每个实例都需要按顺序运行一些命令。这些命令是由批处理脚本生成的,因此无法提前知道。
基本上,我想做的是类似以下的事情,但我不知道正确的语法(或者是否可能):
START (program_a && program_b && program_c)
显然,这些括号的语法不正确。因此,当我尝试运行一些语法正确的变体时:
START program_a && program_b && program_c
我最终只生成了一个CMD 实例,运行program_a,并且“拥有”批处理脚本继续自行执行program_b 和program_c(即不是 在由START 产生的CMD 实例中)。
【问题讨论】:
-
将几个开始命令放在各自的行上。为什么它们必须在同一个 cmd 进程中执行?为什么不动态创建第二批调用这些程序?
-
因为任务不能并行化。它们必须按顺序运行。
-
@Marged 建议您动态创建一个子批处理文件,其中包含单独物理行上的三个关键行,然后
start子批处理。 那 将依次运行三个命令。如果您希望主批次等待子批次完成,则应将/wait开关添加到start。
标签: windows shell batch-file cmd