chcp 1252
echo $Id: backup-with-robocopy1.cmd 1083 2026-05-04 13:48:47Z bertrand $
set NAME=%1
set SOURCE=%2
set DESTINATION=%3
set MAXLOGS=9
set LOGDIR=Logs
set LOGNAME=Backup_%NAME%
set TOOLPATH=C:\Windows\System32\Robocopy.exe
set TOOLPARAM=/PURGE /E /NP /W:0 /R:0 /XJ
if "%NAME%" == "" goto NameError
if "%SOURCE%" == "" goto SourceError
if "%DESTINATION%" == "" goto DestinationError
if not exist %LOGDIR% mkdir %LOGDIR%
if exist %LOGDIR%\%LOGNAME%.log.%MAXLOGS% del %LOGDIR%\%LOGNAME%.log.%MAXLOGS%
for /L %%i in (%MAXLOGS% -1 1) do (
  set /A NEXT=%%i+1
  if exist %LOGDIR%\%LOGNAME%.log.%%i ren %LOGDIR%\%LOGNAME%.log.%%i %LOGNAME%.log.%NEXT%
)
if exist %LOGDIR%\%LOGNAME%.log ren %LOGDIR%\%LOGNAME%.log %LOGNAME%.log.1
set CMD=%TOOLPATH% %SOURCE% %DESTINATION% %TOOLPARAM% /UNILOG:%LOGDIR%\%LOGNAME%.log
echo %CMD%
%CMD%
set RC=%ERRORLEVEL%
goto EndLabel
:NameError
echo Param NAME is empty
goto EndLabel
:SourceError
echo Param SOURCE is empty
goto EndLabel
:DestinationError
echo Param DESTINATION is empty
goto EndLabel
:EndLabel
if %RC% lss 8 (
  exit /b 0
) else (
  exit /b %RC%
)
