RoboCopy considère que deux fichiers sont modifiés lorsqu'ils sont exactement identiques.


1

À l’aide de RoboCopy, je copie des ensembles volumineux de fichiers entre des périphériques de stockage et j’ai remarqué un comportement étrange: à de nombreuses occasions où le fichier source et le fichier de destination sont identiques, RoboCopy voit le fichier modifié et le copie à nouveau. J'ai vérifié que la taille et la date des fichiers sont les mêmes. J'utilise la commande ci-dessous. La version de RoboCopy utilisée provient de Vista / Windows 2008.

robocopy "W:\SourceFolder" "Q:\Destination Folder" /E /R:2 /W:5 /NP /LOG+:%1 /tee /fft /purge 

Le commutateur / FFT utilisé ici résout souvent ce problème - mais pas ici - (comme dans ces pages qui traitent de la même question: Robocopy marque faussement les fichiers comme plus récents, ce qui lui-même fait référence à Robocopy ne détecte pas correctement les fichiers comme étant plus récents lors de la copie entre différents systèmes de fichiers )


1) Y a-t-il quelque chose dans la sortie de Robocopy qui pourrait l'expliquer? 2) À titre de test, pour l'un de ces fichiers "étranges", si vous supprimez le fichier à la destination, puis exécutez la commande Robocopy pour restaurer le fichier, d'autres utilisations de Robocopy tentent-elles toujours de recopier ce fichier?
Kevin Fegan

Le projet est terminé depuis longtemps maintenant. La copie originale a été réalisée par robocopy. La réponse de base pour supprimer et permettre de copier à nouveau est oui. Je n'ai vu aucune sortie autre que "changé"
Brettski

Réponses:


0

Le comportement observé pourrait être le résultat d'un problème de signalement dans Robocopy.

Je peux reproduire ce qui suit avec la version Windows 10 de Robocopy: J'exécute robocopy sur deux répertoires presque identiques à l'aide du /Lcommutateur, c'est-à-dire qu'aucune modification n'est apportée, seules les actions qui se produiraient si le travail était réellement exécuté sont consignées comme spécifié. J'ai comparé les listes de fichiers et le nombre de fichiers ignorés indiqués dans les journaux pour les combinaisons suivantes de commutateurs /V(journal détaillé, liste des fichiers également ignorés) et /XC(ignorer les fichiers marqués comme modifiés) et le comportement par défaut:

  1. /L /V - Un grand nombre de fichiers modifiés (mais en réalité identiques) sont répertoriés, 2309 fichiers ignorés selon le résumé du journal.
  2. /L /V /XC - Aucun fichier modifié n'est répertorié, 2309 fichiers ignorés selon le récapitulatif du journal.
  3. /L /XC - Aucun fichier modifié n'est répertorié, 2309 fichiers ignorés selon le récapitulatif du journal.
  4. /L- Aucun fichier modifié n'est répertorié, 2309 fichiers ignorés selon le récapitulatif du journal.

Le nombre de fichiers ignorés est exactement le même dans les 4 exécutions, quelle que soit l'application du /XCcommutateur. Si les fichiers classés comme étant modifiés dans le journal détaillé de la première exécution devaient effectivement être copiés, je m'attendrais à ce qu'ils soient répertoriés dans le journal de la quatrième exécution et qu'un plus grand nombre de fichiers ignorés soient signalés dans les deuxième et troisième campagnes. 3 lorsque les fichiers (réellement) modifiés sont ignorés, comparés aux essais 1 et 4, quand ils ne le sont pas.

Ma conclusion est que, pour une raison quelconque, dans le journal détaillé, robocopy étiquette les fichiers avec la même taille et les mêmes horodatages modifiés mais ne les traite pas réellement comme tels et, en particulier, ne les copie pas.

Bien sûr, cela n'explique toujours pas pourquoi ces fichiers sont étiquetés comme modifiés en premier lieu.


Merci pour les commentaires sur cette très vieille question! En raison de ces particularités, quand une copie / synchronisation doit vraiment être correcte à 100%, j'utilise Beyond Compare. C'est ce sentiment de savoir que ce sera bien. :)
Brettski
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.