Divers outils existent pour synchroniser deux dossiers identiques, mais la commande robocopy de réplication de répertoire fait l'affaire.

robocopy /MIR /B /Z /COPYALL /r:10 /w:15 /V /NP /LOG+:%TMP%\robocopy.log C:\Mon_repertoire_SOURCE C:\Mon_repertoire_DESTINATION

/mir 	Mirrors a directory tree (equivalent to /e plus /purge). For additional information, see Remarks.

The /mir option is equivalent to the /e plus /purge options with one small difference in behavior:
    With the /e plus /purge options, if the destination directory exists, the destination directory security settings are not overwritten.
    With the /mir option, if the destination directory exists, the destination directory security settings are overwritten.

/b 	Copies files in Backup mode.

/z 	Copies files in restartable mode.

/copyall 	Copies all file information (equivalent to /copy:DATSOU).

/r:<N> 	Specifies the number of retries on failed copies. The default value of N is 1,000,000 (one million retries).

/w:<N> 	Specifies the wait time between retries, in seconds. The default value of N is 30 (wait time 30 seconds).

/v 	Produces verbose output, and shows all skipped files.

/np 	Specifies that the progress of the copying operation (the number of files or directories copied so far) will not be displayed

/log:<LogFile> 	Writes the status output to the log file (overwrites the existing log file).
/log+:<LogFile> 	Writes the status output to the log file (appends the output to the existing log file).


C:\Users\i5>robocopy

-------------------------------------------------------------------------------
   ROBOCOPY   ::   Copie de fichiers robuste pour Windows
-------------------------------------------------------------------------------

  Début : Wed Dec 05 22:19:55 2018

     Syntaxe simpe :: ROBOCOPY source destination /MIR

             source :: répertoire source (lecteur:\chemin ou \\serveur\partage\chemin).
        destination :: rép. de destination (lecteur:\chemin ou \\serveur\partage\chemin).
               /MIR :: met en miroir une arborescence complète.

    Pour plus d'informations sur son utilisation, exécutez ROBOCOPY /?


****  /MIR peut SUPPRIMER des fichiers en plus de les copier !

C:\Users\i5>robocopy /?

-------------------------------------------------------------------------------
   ROBOCOPY   ::   Copie de fichiers robuste pour Windows
-------------------------------------------------------------------------------

  Début : Wed Dec 05 22:20:45 2018

              Syntaxe :: ROBOCOPY source destination [fichier [fichier]...] [options]

             source :: répertoire source (lecteur:\chemin ou \\serveur\partage\chemin).
        destination :: rép. de destination (lecteur:\chemin ou \\serveur\partage\chemin).
               fichier :: fichier(s) à copier (noms/caractères génériques : valeur par défaut "*.*").

::
:: Options de copie :
::
                 /S :: copie les sous-répertoires non vides uniquement.
                 /E :: copie les sous-répertoires, y compris les vides.
             /LEV:n :: copie uniquement les n premiers niveaux de l'arborescence source.

                 /Z :: copie les fichiers en mode de redémarrage.
                 /B :: copie les fichiers en mode de sauvegarde.
                /ZB :: utilise le mode de redémarrage ; si l'accès est refusé, utilise le mode de sauvegarde.
            /EFSRAW :: copie tous les fichiers chiffrés en mode EFS RAW.

  /COPY:indicateurscopie :: spécifie les éléments à copier pour les fichiers (/COPY:DAT par défaut).
                       (indicateurscopie : D=Données, A=Attributs, T=horodaTages).
                       (S=Sécurité=ACL NTFS, O=infos prOpriétaire, U=infos d'aUdit).

           /DCOPY:T :: copie les horodatages de répertoire.

               /SEC :: copie des fichiers avec sécurité (équivaut à /COPY:DATS).
           /COPYALL :: copie toutes les infos de fichiers (équivaut à /COPY:DATSOU).
            /NOCOPY :: ne copie aucune info de fichier (utile avec /PURGE).

            /SECFIX :: corrige la sécurité de tous les fichiers, même les fichiers ignorés.
            /TIMFIX :: corrige les horodatages de tous les fichiers, même les fichiers ignorés.

             /PURGE :: supprime les fichiers/répertoires de destination qui n'existent plus dans la source.
               /MIR :: met en MIRoir une arborescence (équivaut à /E plus /PURGE).

               /MOV :: déplace les fichiers (les supprime de la source après la copie).
              /MOVE :: déplace les fichiers ET les répertoires (les supprime de la source après la copie).

     /A+:[RASHCNET] :: ajoute les Attributs donnés aux fichiers copiés.
     /A-:[RASHCNET] :: supprime les Attributs donnés des fichiers copiés.

            /CREATE :: crée une arborescence et des fichiers de longueur nulle uniquement.
               /FAT :: crée des fichiers de destination au format de nom 8.3 FAT uniquement.
               /256 :: désactive la prise en charge des chemins d'accès très longs (> 256 caractères).

             /MON:n :: source du moniteur ; réexécuté lorsque plus de n modifications sont observées.
             /MOT:m :: source du moniteur ; réexécuté après m minutes en cas de modification.

      /RH:hhmm-hhmm :: heures d'exécution : heures auxquelles de nouvelles copies peuvent être lancées.
                /PF :: vérifie les heures d'exécution Par Fichier (et non par passage).

             /IPG:n :: délai entre les paquets (ms) pour libérer la bande passante sur les lignes bas débit.

                /SL:: copie les liens symboliques par opposition à la cible.

            /MT[:n] :: Effectuer des copies multi-thread avec n threads (par défaut, 8).
                       n doit être au moins égal à 1 et pas supérieur à 128.
                       Cette option est incompatible avec les options /IPG et /EFSRAW.
                       Rediriger la sortie avec l'option /LOG pour de meilleures performances.

::
:: Options de sélection des fichiers :
::
                 /A :: copie uniquement les fichiers où l'attribut Archive est défini.
                 /M :: copie uniquement les fichiers où l'attribut Archive est défini et le réinitialise.
    /IA:[RASHCNETO] :: Inclut uniquement les fichiers où l'un des Attributs donnés est défini.
    /XA:[RASHCNETO] :: eXclut les fichiers où l'un des Attributs donnés est défini.

 /XF fichier [fichier]... :: eXclut les fichiers correspondant aux noms/chemins/caractères génériques donnés.
 /XD répertoires [répertoires]... :: eXclut les répertoires correspondant à des noms/chemins donnés.

                /XC :: eXclut les fichiers Changés.
                /XN :: eXclut les fichiers Nouveaux.
                /XO :: eXclut les fichiers anciens.
                /XX :: eXclut les fichiers et répertoires supplémentaires.
                /XL :: eXclut les fichiers et répertoires solitaires.
                /IS :: Inclut les mêmeS fichiers.
                /IT :: Inclut les fichiers optimisés.

             /MAX:n :: taille de fichier maximale : exclut les fichiers de taille supérieure à n octets.
             /MIN:n :: taille de fichier minimale : exclut les fichiers de taille inférieure à n octets.

          /MAXAGE:n :: Antériorité maximale du fichier : exclut les fichiers plus anciens que n jours/qu'une date n.
          /MINAGE:n :: Antériorité minimale du fichier : exclut les fichiers plus récents que n jours/qu'une date n.
          /MAXLAD:n :: dernière date d'accès MAXimale : exclut les fichiers inutilisés depuis n.
          /MINLAD:n :: dernière date d'accès MINimale : exclut les fichiers utilisés depuis n.
                       (si n < 1900, alors n = n jours, sinon n = date JJMMAAA).

                /XJ :: eXclut les points de Jonction (normalement inclus par défaut).

               /FFT :: suppose des heures de fichier FAT (granularité de 2 secondes).
               /DST :: compense les différences d'heure d'été d'une heure.

               /XJD :: eXclut les points de Jonction pour les répertoires.
               /XJF :: eXclut les points de Jonction pour les Fichiers.

::
:: Options de nouvelle tentative :
::
               /R:n :: nombre de tentatives après l'échec de copies : 1 million par défaut.
               /W:n :: délai entre les tentatives : 30 secondes par défaut.

               /REG :: enregistre /R:n et /W:n comme paramètres par défaut dans le Registre.

               /TBD :: attend la détermination des noms de partage (erreur de nouvelle tentative 67).

::
:: Options d'enregistrement dans le journal :
::
                 /L :: Liste uniquement : pas de copie, d'horodatage ou de suppression de fichiers.
                 /X :: signale tous les fichiers supplémentaires et pas uniquement ceux sélectionnés.
                 /V :: produit un résultat détaillé en affichant les fichiers ignorés.
                /TS :: inclut les horodaTageS des fichiers sources dans le résultat.
                /FP :: inclut le chemin d'accès complet des fichiers dans le résultat.
             /BYTES :: affiche les tailles en octets.

                /NS :: pas de taille : n'enregistre pas les tailles de fichier.
                /NC :: pas de classe : n'enregistre pas les classes de fichier.
               /NFL :: pas de liste de fichiers : n'enregistre pas les noms de fichiers.
               /NDL :: pas de liste de répertoires : n'enregistre pas les noms de répertoire.

                /NP :: pas de compteur de progression : n'affiche pas le pourcentage copié.
               /ETA :: affiche l'heure de fin estimée de la copie des fichiers.

          /LOG:fichier :: copie le statut dans le fichier journal (remplace le journal existant).
         /LOG+:fichier :: copie le statut dans le fichier journal (ajoute au journal existant).

       /UNILOG:fichier :: copie le statut dans le fichier journal en Unicode (remplace le journal existant).
      /UNILOG+:fichier :: copie le statut dans le fichier journal en Unicode (ajoute au journal existant).

               /TEE :: résultat dans la fenêtre de la console et dans le fichier journal.

               /NJH :: pas d'en-tête de tâche.
               /NJS :: pas de résumé de tâche.
           /UNICODE :: sortie au format UNICODE.

::
:: Options de tâche :
::
       /JOB:NomTâche :: prend les paramètres du fichier de tâche nommé.
      /SAVE:NomTâche :: enregistre les paramètres dans le fichier nommé
              /QUIT :: arrête après traitement de la ligne de commande (pour afficher les paramètres).
              /NOSD :: aucun répertoire source spécifié.
              /NODD :: aucun répertoire de destination spécifié.
                /IF :: Inclut les fichiers suivants.

C:\Users\i5>robocopy /MIR /B /Z /COPYALL /r:10 /w:15 /V /NP /LOG+:%TMP%\robocopy.log C:\Mon_repertoire_SOURCE C:\Mon_repertoire_DESTINATION

 Fichier journal : C:\Users\i5\AppData\Local\Temp\robocopy.log

C:\Users\i5>type C:\Users\i5\AppData\Local\Temp\robocopy.log

-------------------------------------------------------------------------------
   ROBOCOPY   ::   Copie de fichiers robuste pour Windows
-------------------------------------------------------------------------------

  Début : Wed Dec 05 22:22:24 2018

   Source : C:\Mon_repertoire_SOURCE\
     Dest : C:\Mon_repertoire_DESTINATION\

    Fichiers : *.*

  Options : *.* /V /S /E /COPYALL /PURGE /MIR /Z /NP /R:10 /W:15

-------------------------------------------------------------------------------

ERREUR : vous ne disposez pas du droit de gestion d'audit.
*****  Il est requis pour copier les informations d'audit (/COPY:U ou /COPYALL).

     Syntaxe simpe :: ROBOCOPY source destination /MIR

             source :: répertoire source (lecteur:\chemin ou \\serveur\partage\chemin).
        destination :: rép. de destination (lecteur:\chemin ou \\serveur\partage\chemin).
               /MIR :: met en miroir une arborescence complète.

    Pour plus d'informations sur son utilisation, exécutez ROBOCOPY /?


****  /MIR peut SUPPRIMER des fichiers en plus de les copier !

C:\Windows\system32>robocopy /MIR /B /Z /COPYALL /r:10 /w:15 /V /NP /LOG+:%TMP%\robocopy.log F:\robocopytest G:\robocopytest

C:\Windows\system32>type C:\Users\i5\AppData\Local\Temp\robocopy.log


-------------------------------------------------------------------------------
   ROBOCOPY   ::   Copie de fichiers robuste pour Windows
-------------------------------------------------------------------------------

  Début : Wed Dec 05 22:27:16 2018

   Source : F:\robocopytest\
     Dest : G:\robocopytest\

    Fichiers : *.*

  Options : *.* /V /S /E /COPYALL /PURGE /MIR /Z /NP /R:10 /W:15

-------------------------------------------------------------------------------

          Nouveau rép.          1       F:\robocopytest\
            Nouveau fichier                    1        a.txt
          Nouveau rép.          0       F:\robocopytest\d\

-------------------------------------------------------------------------------

               Total     Copié    IgnoréDiscordance     ÉCHEC    Extras
     Rép :         2         2         0         0         0         0
Fichiers :         1         1         0         0         0         0
  Octets :         1         1         0         0         0         0
   Heures:   0:00:00   0:00:00                       0:00:00   0:00:00


   Débit :                  62 Octets/sec.
   Débit :               0.003 Méga-octets/min.

 Terminé : Wed Dec 05 22:27:16 2018

C:\Windows\system32>




robocopy :

  • Robocopy (ou Robust File Copy) est un utilitaire en ligne de commande permettant de faire de la réplication de dossiers et fichiers.
  • Robocop ou "Robust File Copy", est une commande de réplication de répertoires en ligne de commande
  • robocopy : Copies file data.

variables d'environnement sous Windows :