ハムスターに飼われる院生のブログ

自分用メモが中心のブログです。

引数を変えながら並列に計算を実行するバッチ

5計算ずつ並列にし、計100パターン実行したい場合を考える。以下のようにbatファイルを書くと実行することができる。
まず親バッチを以下に示す。

@echo off
@setlocal enabledelayedexpansion

for /l %%i in (0,5,100) do (

call son.bat %%i

)
pause

子バッチは以下の通り(son.bat)

@echo off
@setlocal enabledelayedexpansion

set /a a=%1+1
set /a b=%1+2
set /a c=%1+3
set /a d=%1+4

start test.exe %1
start test.exe %a%
start test.exe %b%
start test.exe %c%
call test.exe %d%

exit /B 0

こちらの記事↓で紹介したコードと合わせて使うと便利
chicagopile1-75.hatenablog.com

今回5並列にて計算を実行としたのはCPUのキャパを超えないようにという配慮である。