77 lines
2.1 KiB
Batchfile
77 lines
2.1 KiB
Batchfile
@echo off
|
|
setlocal ENABLEDELAYEDEXPANSION
|
|
|
|
REM --- Se place dans le dossier du .bat ---
|
|
cd /d "%~dp0"
|
|
|
|
REM Chemin du fichier de version pour la CUISINE
|
|
set "VERSION_FILE=..\Excel\prod\Ratio_Cuisine_VERSION.txt"
|
|
|
|
REM On lit l'ANCIENNE version avant de la mettre à jour (pour nommer 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_Cuisine_dev.xlsm
|
|
set DST_DIR=..\Excel\prod
|
|
|
|
REM Dossier commun de sauvegardes (Cuisine + Restauration)
|
|
set BACKUP_DIR=..\Excel\backup
|
|
|
|
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
|
|
)
|
|
|
|
REM Création auto du dossier de sauvegarde s'il n'existe pas
|
|
if not exist "%BACKUP_DIR%" (
|
|
mkdir "%BACKUP_DIR%"
|
|
)
|
|
|
|
REM === 3) NOM DU FICHIER DE SAUVEGARDE AVEC ANCIENNE VERSION ===
|
|
if "%OLD_VERSION%"=="" (
|
|
REM Sécurité : si on n'a pas réussi à lire la version, on met un nom générique
|
|
set "BACKUP=%BACKUP_DIR%\Ratio_Cuisine_sansVersion.xlsm"
|
|
) else (
|
|
set "BACKUP=%BACKUP_DIR%\Ratio_Cuisine_Vers%OLD_VERSION%.xlsm"
|
|
)
|
|
|
|
REM === 4) COPIE VERS PROD ===
|
|
echo Copie vers la version de production...
|
|
copy /Y "%SRC%" "%DST_DIR%\Ratio_Cuisine.xlsm"
|
|
|
|
REM === 5) SAUVEGARDE ===
|
|
echo Création de la sauvegarde datée...
|
|
copy /Y "%SRC%" "%BACKUP%"
|
|
|
|
echo Terminé.
|
|
exit /b 0
|
|
|
|
REM === 6) NETTOYAGE : on ne garde que les %KEEP_BACKUPS% dernières sauvegardes Cuisine ===
|
|
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_Cuisine_Vers*.xlsm" 2^>nul') do (
|
|
echo Suppression ancienne sauvegarde : %%F
|
|
del /q "%BACKUP_DIR%\%%F"
|
|
) |