我有以下内容,但是当我执行时,我发现 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%)
我有以下内容,但是当我执行时,我发现 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%)
这是您的批处理流程:
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
内容,请记住,由于它是在新进程中启动的,因此执行之前的开销可能比所有从属服务器运行的时间更长。