75 lines
2.1 KiB
Batchfile
75 lines
2.1 KiB
Batchfile
@echo off
|
|
setlocal EnableExtensions EnableDelayedExpansion
|
|
|
|
REM === PARAMÈTRES A ADAPTER UNE FOIS =========================================
|
|
set "ROOT=C:\Users\miche\PycharmProjects\Ratio_Inventaires"
|
|
set "DEV_XLSM=%ROOT%\Excel\dev\Ratio_dev.xlsm"
|
|
|
|
set "PROD_DIR=%ROOT%\Excel\prod"
|
|
set "PROD_XLSM=%PROD_DIR%\Ratio_prod.xlsm"
|
|
|
|
REM Dossier prêt à livrer au client
|
|
set "INSTALL_CLIENT=%USERPROFILE%\Desktop\Install_Ratio_Inv"
|
|
REM ============================================================================
|
|
|
|
REM === DATE ISO robuste (indépendant des paramètres régionaux) ===============
|
|
for /f %%i in ('powershell -NoProfile -Command "(Get-Date).ToString(\"yyyy_MM_dd\")"') do set "DATESTAMP=%%i"
|
|
set "ARCHIVE_FILE=%PROD_DIR%\Ratio_prod_%DATESTAMP%.xlsm"
|
|
|
|
echo.
|
|
echo === [1/4] Préparation des dossiers =======================================
|
|
if not exist "%PROD_DIR%" mkdir "%PROD_DIR%"
|
|
if not exist "%INSTALL_CLIENT%" mkdir "%INSTALL_CLIENT%"
|
|
|
|
if not exist "%DEV_XLSM%" (
|
|
echo [ERREUR] Fichier DEV introuvable: %DEV_XLSM%
|
|
goto :EOF
|
|
)
|
|
|
|
echo.
|
|
echo === [2/4] Sauvegarde de la PROD courante =================================
|
|
if exist "%PROD_XLSM%" (
|
|
echo Sauvegarde -> "%ARCHIVE_FILE%"
|
|
copy /Y "%PROD_XLSM%" "%ARCHIVE_FILE%" >nul
|
|
) else (
|
|
echo Pas de PROD courante a sauvegarder.
|
|
)
|
|
|
|
echo.
|
|
echo === [3/4] Mise a jour de la PROD depuis le DEV ===========================
|
|
copy /Y "%DEV_XLSM%" "%PROD_XLSM%" >nul
|
|
if errorlevel 1 (
|
|
echo [ERREUR] Copie du XLSM vers PROD echouee.
|
|
goto :EOF
|
|
)
|
|
|
|
echo.
|
|
echo === [4/4] Preparation du dossier client ==================================
|
|
copy /Y "%PROD_XLSM%" "%INSTALL_CLIENT%\Ratio_prod.xlsm" >nul
|
|
if errorlevel 1 (
|
|
echo [ERREUR] Copie du XLSM vers INSTALL_CLIENT echouee.
|
|
goto :EOF
|
|
)
|
|
|
|
echo.
|
|
echo === Nettoyage: on garde 5 archives les plus recentes =====================
|
|
pushd "%PROD_DIR%" >nul
|
|
set count=0
|
|
for /f "delims=" %%f in ('dir /b /o-d "Ratio_prod_20??_??_??.xlsm"') do (
|
|
set /a count+=1
|
|
if !count! gtr 5 (
|
|
echo Suppression: %%f
|
|
del "%%f"
|
|
)
|
|
)
|
|
popd >nul
|
|
|
|
echo.
|
|
echo [OK] Mise a jour terminee :
|
|
echo - PROD : "%PROD_XLSM%"
|
|
echo - CLIENT: "%INSTALL_CLIENT%\Ratio_prod.xlsm"
|
|
echo.
|
|
pause
|
|
endlocal & exit /b 0
|
|
|