「composite」の合成コマンド
composite -compose over "素材画像名" "素体画像名" "出力画像名"

まず画像の名前一覧と素体の名前を取得して書き出します

(FOR %%A in (*_*_123.png) DO FOR %%B in (*.png) DO @echo composite -compose over "%%B" "%%A" "%%B") > temp.bat

結果

C:\hoge>FOR %B in (*.png) DO @echo composite -compose over "%B" "hoge_hoge_123.png" "%B" 
composite -compose over "hoge_hoge_123.png" "hoge_hoge_123.png" "hoge_hoge_123.png"
composite -compose over "hoge_hoge_124.png" "hoge_hoge_123.png" "hoge_hoge_124.png"
composite -compose over "hoge_hoge_125.png" "hoge_hoge_123.png" "hoge_hoge_125.png"

初めの改行とよく分からない一行と素体+素体の行、計三行が余分なので削除してそれを呼び出します

(FOR /F "skip=3 tokens=* usebackq" %%i IN ("temp.bat") DO @echo %%i) > "composite.bat
CALL "composite.bat"

結果

composite -compose over "hoge_hoge_124.png" "hoge_hoge_123.png" "hoge_hoge_124.png"
composite -compose over "hoge_hoge_125.png" "hoge_hoge_123.png" "hoge_hoge_125.png"

一応はこれで動作してくれるのですが
別のBATを書き出すだとか、書き出した結果を修正して実行させるだとか余りにも不格好です。
もう少し綺麗にしたいのですが、なにとぞご教授ください。