@echo off setlocal ENABLEDELAYEDEXPANSION REM --- Se place dans le dossier du .bat --- cd /d "%~dp0" echo --- Mise en prod Ratio_Restauration --- REM Chemin du fichier de version pour la RESTAURATION set "VERSION_FILE=..\Excel\prod\Ratio_Restauration_VERSION.txt" REM On lit l'ANCIENNE version pour la sauvegarde set "OLD_VERSION=" if exist "%VERSION_FILE%" ( set /p OLD_VERSION=<"%VERSION_FILE%" ) REM Nombre de sauvegardes Cuisine à conserver set KEEP_BACKUPS=10 echo Mise à jour de version... python "maj_version.py" "%VERSION_FILE%" if errorlevel 1 ( echo ERREUR lors de la mise à jour de version. pause exit /b 1 ) REM === 2) CHEMINS DES FICHIERS EXCEL === set SRC=..\Excel\dev\Ratio_Restauration_dev.xlsm set DST_DIR=..\Excel\prod REM Dossier commun de sauvegardes (Cuisine + Restauration) set BACKUP_DIR=..\Excel\backup if not exist "%BACKUP_DIR%" ( mkdir "%BACKUP_DIR%" ) REM Vérifications if not exist "%SRC%" ( echo ERREUR : fichier source introuvable : echo %SRC% endlocal exit /b 1 ) if not exist "%DST_DIR%" ( echo ERREUR : dossier de destination introuvable : echo %DST_DIR% endlocal exit /b 1 ) REM === NOM DU FICHIER DE SAUVEGARDE AVEC ANCIENNE VERSION === if "%OLD_VERSION%"=="" ( REM Sécurité si la lecture a échoué set "BACKUP=%BACKUP_DIR%\Ratio_Restauration_sansVersion.xlsm" ) else ( set "BACKUP=%BACKUP_DIR%\Ratio_Restauration_Vers%OLD_VERSION%.xlsm" ) REM === 4) COPIE VERS PROD === echo Copie vers la version de production... copy /Y "%SRC%" "%DST_DIR%\Ratio_Restauration.xlsm" REM === 5) SAUVEGARDE DATÉE === echo Création de la sauvegarde datée... copy /Y "%SRC%" "%BACKUP%" echo --- Mise en prod terminee --- endlocal exit /b 0 REM === 6) NETTOYAGE : on ne garde que les %KEEP_BACKUPS% dernières sauvegardes Restauration === REM Tri par date décroissante (les plus récentes d'abord). On supprime au-delà de KEEP_BACKUPS. for /f "skip=%KEEP_BACKUPS% delims=" %%F in ('dir /b /a-d /o-d "%BACKUP_DIR%\Ratio_restauration_Vers*.xlsm" 2^>nul') do ( echo Suppression ancienne sauvegarde : %%F del /q "%BACKUP_DIR%\%%F" )