@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