私は次のものを持っていますが、実行すると、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
は、新しいプロセスで開始されるため、実行前のこのオーバーヘッドはすべてのスレーブの実行よりも長くかかる可能性があることに注意してください。