0

我有以下内容,但是当我执行时,我发现 FOR 循环似乎永远不会运行 - 有趣的是 for 循环之后的 Start 语句将执行。我有点困惑。

Start "Starting up Master Node" /D "c:\mydir" cmd /k "Master.exe"
FOR /L %%i in (1,1,%SlaveNodes%) DO (call slavenode.bat  %%i %mycores%)
4

1 回答 1

0

这是您的批处理流程:

Start "Starting up Master Node" /D "c:\mydir" cmd /k "Master.exe"

此命令将启动另一个进程(其他初始进程)来运行cmd /K Master.exe

因此,在这个新进程中,Master.exe执行并且/K窗口保持打开状态。

同时,原流程继续

FOR /L %%i in (1,1,%SlaveNodes%) DO (call slavenode.bat  %%i %mycores%)

执行slavenode.bat %SlaveNodes%时间(在原始过程中)。

然后,终止。如果原始进程是从非持久方法(例如,从资源管理器)启动的,则原始进程窗口(如果有)会消失。

如果您希望Master.exe从 中看到某些slavenode.bat内容,请记住,由于它是在新进程中启动的,因此执行之前的开销可能比所有从属服务器运行的时间更长。

于 2013-10-17T13:53:10.870 回答