Ce tutoriel montre comment réaliser une sauvegarde automatique de dossiers avec horodatage à l’aide de xcopy ou robocopy (selon votre version de Windows). Vous pouvez planifier l’exécution via le Planificateur de tâches Windows.
Commande de base pour copier un répertoire source vers une destination. Voir référence dans la liste des commandes.
@echo off
xcopy "C:\Sources" "D:\Backups" /E /I /Y
| Paramètre utiles | Explications | 
|---|---|
| /E | Inclut sous-dossiers, même vides | 
| /I | Suppose que la destination doit être un répertoire. | 
| /Y | Pas de confirmation | 
On insère la date dans le nom du dossier de sauvegarde (format AAAA-MM-JJ). Voir extraction date dans date & heure.
@echo off
set yyyy=%date:~6,4%
set mm=%date:~3,2%
set dd=%date:~0,2%
set dest=D:\Backups\%yyyy%-%mm%-%dd%
xcopy "C:\Sources" "%dest%" /E /I /Y
echo Sauvegarde terminée dans "%dest%"
robocopy gère mieux les grosses volumiés et les reprises. Ici, on crée un log et on exclut le dossier temp.
@echo off
set yyyy=%date:~6,4%
set mm=%date:~3,2%
set dd=%date:~0,2%
set dest=D:\Backups\%yyyy%-%mm%-%dd%
set log=D:\Backups\logs\backup_%yyyy%-%mm%-%dd%.log
if not exist "D:\Backups\logs" md "D:\Backups\logs" 
robocopy "C:\Sources" "%dest%" /E /R:2 /W:2 /XD "C:\Sources\temp" /LOG+:%log%
if errorlevel 8 (
   echo Erreur de sauvegarde - voir "%log%"
   exit /b 1
) else (
   echo Sauvegarde OK - voir "%log%"
)
Vérification de l'existence du dossier avec if not exist
if not exist "D:\Backups\logs" md "D:\Backups\logs"