@echo off setlocal enabledelayedexpansion set "SOURCE_DIR=D:\cinema\cringe\Youkoso Jitsuryoku Shijou Shugi no Kyoushitsu e 2" set "VIDEO_DIR=%SOURCE_DIR%" set "AUDIO_DIR=%SOURCE_DIR%\Sound" set "OUTPUT_DIR=%SOURCE_DIR%\Merged" mkdir "%OUTPUT_DIR%" echo Processing episodes... :: Process each audio file for %%A in ('dir "%AUDIO_DIR%\*.mka" /b') do ( set "AUDIO_FULL=%%A" :: Get just the filename (already from dir /b) set "AUDIO_NAME=!AUDIO_FULL!" :: Construct the corresponding video filename by replacing .mka with .mkv set "VIDEO_NAME=!AUDIO_NAME:.mka=.mkv!" set "VIDEO_PATH=%VIDEO_DIR%\!VIDEO_NAME!" set "AUDIO_PATH=%AUDIO_DIR%\!AUDIO_NAME!" set "OUT_FILE=%OUTPUT_DIR%\!VIDEO_NAME!" if exist "!VIDEO_PATH!" ( echo Merging: !AUDIO_NAME! ffmpeg -hide_banner -loglevel error -i "!VIDEO_PATH!" -i "!AUDIO_PATH!" ^ -c copy -map 0:v:0 -map 1:a:0 "!OUT_FILE!" if errorlevel 1 ( echo ERROR: !AUDIO_NAME! ) else ( echo OK: !AUDIO_NAME! ) ) else ( echo Video not found: !VIDEO_NAME! ) ) echo. echo ========================================== echo Done! Merged files are in: "%OUTPUT_DIR%" echo ========================================== pause