@echo off cls chcp 1252 > NUL :: Extension des fichiers: MP4, MOV set "fileExtension=MP4" :: Récupération du dossier en entrée set "inFolder=%~1" :: Suppression des doubles quotes de la chaîne set "inFolder=%inFolder:"=%" :: Vérification que l'on a bien un dossier if not exist "%inFolder%\" ( echo:[ERREUR] CE N'EST PAS UN DOSSIER pause goto:eof ) :: Fichier de sortie for %%A in ("%inFolder%") do ( set "outFile=%%~dfA__JOINED__.%fileExtension%" ) echo:Type de fichier en entrée (basé sur l^'extension): echo: | set /p="%fileExtension%" & echo: echo: echo:Dossier en entrée: echo: | set /p="%inFolder%" & echo: echo: echo:Fichier de sortie: echo: | set /p="%outFile%" & echo: :: Suppression de la liste des fichiers if exist "%inFolder%\fileList.txt" del "%inFolder%\fileList.txt" :: Génération de la liste des fichiers echo: echo:Génération de la liste des fichiers echo: set fileList= for /f "tokens=*" %%I in ('dir /b "%inFolder%\*.%fileExtension%" ^| sort') do ( echo: | set /p="%%~nxI" & echo: set "var=%%~nxI" call:generateFileList "%%var%%" ) :: On se place dans le dossier source car les caractères spéciaux dans le chemin :: du fichier texte posent problème à FFMPEG cd /d "%inFolder%" :: Concaténation @echo on "%~dp0ffmpeg" -hide_banner -y -f concat -safe 0 -i "%inFolder%\fileList.txt" -c copy "%outFile%" @echo off echo: echo:----------------------------- echo:^| TERMINÉ ^| echo:----------------------------- echo: pause goto:eof :generateFileList set "currentFile=%~1" echo: | set /p="file '%currentFile:'='\''%'" >> "%inFolder%\fileList.txt" echo: >> "%inFolder%\fileList.txt" goto:eof