Files
Inventaire-gestion/Scripts/Maj_prod_Restauration.bat
2026-05-26 12:41:59 +02:00

114 lines
2.5 KiB
Batchfile

@echo off
setlocal ENABLEDELAYEDEXPANSION
cd /d "%~dp0"
echo --- Mise en prod Ratio_Restauration ---
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
echo.
echo ROOT = %ROOT%
echo SRC = %SRC%
echo DST = %DST%
echo BACKUP_DIR = %BACKUP_DIR%
echo VERSION_FILE= %VERSION_FILE%
echo.
set "OLD_VERSION="
if exist "%VERSION_FILE%" (
set /p OLD_VERSION=<"%VERSION_FILE%"
)
if not exist "%SRC%" (
echo ERREUR : fichier source introuvable :
echo %SRC%
exit /b 1
)
if not exist "%DST_DIR%" (
echo ERREUR : dossier de destination introuvable :
echo %DST_DIR%
exit /b 1
)
if not exist "%BACKUP_DIR%" (
echo Creation du dossier backup :
echo %BACKUP_DIR%
mkdir "%BACKUP_DIR%"
)
if exist "%DST_DIR%\~$Ratio_Restauration.xlsm" (
echo ERREUR : Ratio_Restauration.xlsm est ouvert dans Excel.
exit /b 1
)
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...
echo De : %DST%
echo Vers : !BACKUP!
copy /Y "%DST%" "!BACKUP!"
if errorlevel 1 (
echo ERREUR : la sauvegarde de l'ancienne production a echoue.
exit /b 1
)
if not exist "!BACKUP!" (
echo ERREUR : le fichier de sauvegarde n'a pas ete cree.
echo Attendu : !BACKUP!
exit /b 1
)
echo Sauvegarde OK : !BACKUP!
) else (
echo Aucun ancien fichier de production trouve, pas de sauvegarde a faire.
)
echo.
echo Copie vers la version de production...
copy /Y "%SRC%" "%DST%"
if errorlevel 1 (
echo ERREUR lors de la copie vers production.
exit /b 1
)
if not exist "%DST%" (
echo ERREUR : le fichier de production n'a pas ete cree.
exit /b 1
)
echo.
echo Mise a jour de version...
python "%~dp0maj_version.py" "%VERSION_FILE%" "%DST%"
if errorlevel 1 (
echo ERREUR lors de la mise a jour de version.
exit /b 1
)
echo.
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.
echo --- Mise en prod terminee ---
exit /b 0