上のはフォルダにpngファイルがいっぱいあるとその分ループするので(実行には問題ないとおもうが)
@echo off
set target=
setlocal
if "%~1" neq "" set target="%~1"
for /r %target% %%i in (.) do (
cd /d %%i
if not exist "output.png" (
if exist "*.png" (
echo %%i
magick.exe montage *.png -tile 3x3 -geometry 400x400+10+4 output.png
)
)
)
endlocal