11 votes

Comment puis-je fusionner deux dossiers similaires mais non identiques ?

J'ai un dossier (qui est rempli de nombreux sous-dossiers et fichiers) qui se trouve sur un lecteur FireWire [source] et que j'essaie de déplacer vers un lecteur USB [destination].

J'essaie de déplacer tous les fichiers de la source vers la destination.

J'ai commencé à le faire via le Finder, mais il m'a donné une erreur de permissions à environ 1/8e du processus et s'est arrêté.

Lorsque vous déplacez des fichiers entre des disques, je crois que le Finder effectue d'abord une "copie" et ne supprime la "source" qu'une fois la commande de copie terminée avec succès.

Cela signifie que un peu de fichiers étaient copié avec succès, mais je ne sais pas lesquels ni combien. J'ai donc commencé copie des sous-dossiers de la Source vers la Destination (petits ensembles) et les a supprimés de la Source lorsque la copie a réussi.

J'ai fini par ne plus être capable de terminer ce processus en une seule fois, et j'ai perdu ma "place".

Donc maintenant je me retrouve avec deux ensembles de données incomplets. La source contient probablement certains fichiers/dossiers qui se trouvent déjà sur la destination, mais tout n'a pas été copié.

Certains dossiers peuvent avoir été partiellement copiés mais pas tous leurs sous-dossiers, etc.

J'essaie de trouver la meilleure façon de déplacer le reste de la source vers la destination tout en minimisant les doublons. Nous parlons ici d'un grand nombre de données (la source est de 420,72 Go et 398 127 éléments, et la destination est de 298,84 Go et 390 149 éléments), je vais donc devoir essayer d'automatiser cette opération. en quelque sorte . Je ne suis pas sûr de savoir comment.

J'ai pensé à gcp [GNU cp] avec --update --archive o ditto o rsync o ChronoSync mais je ne suis pas sûr de la meilleure option et des paramètres que je devrais utiliser pour le programme recommandé (dois-je vouloir --archive avec gcp ? Quels drapeaux dois-je utiliser avec ditto o rsync ?)

15voto

Vous pouvez ouvrir le Terminal et utiliser l'une des commandes suivantes ( rsync est probablement celui qu'il vous faut si vous voulez quelque chose qui ne soit pas complètement perdu si vous arrêtez le processus. ) :

La méthode standard UNIX

cp -R -v source/. destination

La méthode UNIX pour les geeks (redémarrable)

rsync -vaEW source/ destination

La méthode "facile" d'OSX

ditto -V source destination

Source :

1voto

SJT Points 351

Si vous utilisez FileMerge à partir des outils de développement sur les deux arborescences de répertoires, vous serez en mesure de voir quels fichiers individuels ont été copiés car il fera une différence entre eux et montrera les différences.

Sinon, rsync pourrait être un peu plus automatisé comme mentionné ci-dessus par cksum.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X