@echo off setlocal ENABLEDELAYEDEXPANSION cd /d "%~dp0" REM === PARAMETRES CUISINE === set "ROOT=%~dp0.." set "VERSION_FILE=%ROOT%\Excel\dev\Ratio_Cuisine_VERSION.txt" set "SRC=%ROOT%\Excel\dev\Ratio_Cuisine_dev.xlsm" set "DST_DIR=%ROOT%\Excel\prod" set "DST=%DST_DIR%\Ratio_Cuisine.xlsm" set "BACKUP_DIR=%ROOT%\Excel\backup" set KEEP_BACKUPS=10 REM === Lire ancienne version pour nom sauvegarde === set "OLD_VERSION=" if exist "%VERSION_FILE%" ( set /p OLD_VERSION=<"%VERSION_FILE%" ) REM === Vérifications === if not exist "%SRC%" ( echo ERREUR : fichier source introuvable : echo %SRC% pause exit /b 1 ) if not exist "%DST_DIR%" ( echo ERREUR : dossier de destination introuvable : echo %DST_DIR% pause exit /b 1 ) if not exist "%BACKUP_DIR%" ( mkdir "%BACKUP_DIR%" ) REM === Sauvegarde de l'ancienne prod avant remplacement === if exist "%DST%" ( if "%OLD_VERSION%"=="" ( set "BACKUP=%BACKUP_DIR%\Ratio_Cuisine_sansVersion.xlsm" ) else ( set "BACKUP=%BACKUP_DIR%\Ratio_Cuisine_Vers%OLD_VERSION%.xlsm" ) echo Sauvegarde de l'ancienne production... copy /Y "%DST%" "%BACKUP%" ) REM === Copie DEV vers PROD === echo Copie vers la version de production... copy /Y "%SRC%" "%DST%" if errorlevel 1 ( echo ERREUR lors de la copie vers production. pause exit /b 1 ) REM === Mise à jour version TXT + cellule C1 du classeur PROD === echo Mise à jour de version... python "%~dp0maj_version.py" "%VERSION_FILE%" "%DST%" if errorlevel 1 ( echo ERREUR lors de la mise à jour de version. pause exit /b 1 ) REM === Nettoyage sauvegardes anciennes === echo Nettoyage des anciennes sauvegardes Cuisine... for /f "skip=%KEEP_BACKUPS% delims=" %%F in ('dir /b /a-d /o-d "%BACKUP_DIR%\Ratio_Cuisine_Vers*.xlsm" 2^>nul') do ( echo Suppression ancienne sauvegarde : %%F del /q "%BACKUP_DIR%\%%F" ) echo Terminé. exit /b 0