Batch file 使Start命令在批处理文件中工作
我有以下内容,但当我执行时,我发现FOR循环似乎从未运行过——有趣的是,FOR循环之后的Start语句将执行。我有点困惑Batch file 使Start命令在批处理文件中工作,batch-file,Batch File,我有以下内容,但当我执行时,我发现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:
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
中查看某些内容,请记住,由于它是在新进程中启动的,执行前的此开销可能比所有从进程运行的时间更长。OK。我需要与Loop命令并行运行初始Start命令。因此,如果我循环4次,我希望打开5个窗口,因为我在slavenode.bat文件中有一个Start命令。然而,这似乎没有发生。MasterNode将永远不会返回并无限期运行。但是,我从未看到执行FOR循环。是否%SlaveNodes%==5
?您的文件名是cmd
还是任何其他冲突的命令名?