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