我有以下内容,但是当我执行时,我发现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%)
答案 0 :(得分: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
的内容,请记住,当它在新进程中启动时,执行前的开销可能需要更长时间才能运行。