Modification du versionnage auto
This commit is contained in:
@@ -1,80 +1,76 @@
|
||||
@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"
|
||||
set "ROOT=%~dp0.."
|
||||
|
||||
set "VERSION_FILE=%ROOT%\Excel\dev\Ratio_Restauration_VERSION.txt"
|
||||
set "SRC=%ROOT%\Excel\dev\Ratio_Restauration_dev.xlsm"
|
||||
set "DST_DIR=%ROOT%\Excel\prod"
|
||||
set "DST=%DST_DIR%\Ratio_Restauration.xlsm"
|
||||
set "BACKUP_DIR=%ROOT%\Excel\backup"
|
||||
set KEEP_BACKUPS=10
|
||||
|
||||
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"
|
||||
if not exist "%BACKUP_DIR%" (
|
||||
mkdir "%BACKUP_DIR%"
|
||||
)
|
||||
|
||||
if exist "%DST%" (
|
||||
if "%OLD_VERSION%"=="" (
|
||||
set "BACKUP=%BACKUP_DIR%\Ratio_Restauration_sansVersion.xlsm"
|
||||
) else (
|
||||
set "BACKUP=%BACKUP_DIR%\Ratio_Restauration_Vers%OLD_VERSION%.xlsm"
|
||||
)
|
||||
|
||||
echo Sauvegarde de l'ancienne production...
|
||||
if exist "%DST_DIR%\~$Ratio_Restauration.xlsm" (
|
||||
echo ERREUR : Ratio_Restauration.xlsm est ouvert dans Excel.
|
||||
exit /b 1
|
||||
)
|
||||
copy /Y "%DST%" "%BACKUP%"
|
||||
)
|
||||
|
||||
REM === 4) COPIE VERS PROD ===
|
||||
echo Copie vers la version de production...
|
||||
copy /Y "%SRC%" "%DST_DIR%\Ratio_Restauration.xlsm"
|
||||
copy /Y "%SRC%" "%DST%"
|
||||
|
||||
REM === 5) SAUVEGARDE DATÉE ===
|
||||
echo Création de la sauvegarde datée...
|
||||
copy /Y "%SRC%" "%BACKUP%"
|
||||
if errorlevel 1 (
|
||||
echo ERREUR lors de la copie vers production.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo --- Mise en prod terminee ---
|
||||
endlocal
|
||||
exit /b 0
|
||||
echo Mise à jour de version...
|
||||
python "%~dp0maj_version.py" "%VERSION_FILE%" "%DST%"
|
||||
|
||||
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 (
|
||||
if errorlevel 1 (
|
||||
echo ERREUR lors de la mise à jour de version.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Nettoyage des anciennes sauvegardes Restauration...
|
||||
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"
|
||||
)
|
||||
)
|
||||
|
||||
echo --- Mise en prod terminee ---
|
||||
exit /b 0
|
||||
Reference in New Issue
Block a user