7 votes

Fusionner deux dossiers, sans écraser aucun fichier

J'ai un dossier appelé "AeroFS", et un autre appelé "AeroFS Backup".

"AeroFS Backup" contient tout ce que "AeroFS" contient, et plus encore.

J'ai besoin de fusionner "AeroFS Backup" dans le dossier "AeroFS", mais sans écraser AUCUN fichier existant, même s'il est plus récent.

Je ne suis pas particulièrement à l'aise avec les commandes du terminal, mais je vais peut-être les essayer.

Y a-t-il un gratuit une application qui peut faire cela sans écraser les fichiers existants ?

0 votes

man mv pourrait être un bon point de départ :-)

0 votes

J'essaie avec RSync, mais il ne se comporte pas correctement et copie plutôt le dossier à l'intérieur du dossier sélectionné.

0 votes

Il semble que vous ayez une barre oblique dans votre commande rsync là où vous ne devriez pas, ou vice versa. Voir cette réponse .

7voto

user2924019 Points 261

Je ne sais pas pourquoi l'autre réponse a été supprimée, elle était presque exacte.

J'utilise la commande terminal pour ce faire :

cp -n -v '/src'/* '/dest'

cp = Copie

-n = Ne pas écraser les données existantes

-v = Sortie verbeuse

2 votes

Pour tous ceux qui font cela avec des arborescences, -r pour récursif.

0 votes

@PeterDeWeese J'étais sûr que cela fonctionnait sans cette option mais je n'ai plus accès à un Mac pour tester. Merci pour votre contribution.

2voto

xrost Points 129

Sans utiliser de terminal, vous pouvez faire glisser vos fichiers du dossier d'origine (AeroFS Backup) vers le dossier de destination (AeroFS) et lorsque le Finder se rendra compte que le même fichier existe, il affichera une alerte, vous demandant ce que vous voulez qu'il fasse. Si vous appuyez sur "Option" pendant que vous regardez cette alerte, l'une des options deviendra "Sauter" et vous pourrez alors l'appliquer à tous les fichiers que vous faites glisser.

J'ai enregistré une brève vidéo montrant cela en action


En utilisant le Terminal, je recommande vivement la solution RSYNC :

rsync -av --ignore-existing sourceFolder/ destinationFolder

1voto

Douglas Points 10417

Vous pouvez le faire dans Terminal avec un court script :

for file in /source/directory; do $time=date +%s; if [[ -f /target/directory/$file ]]; then cp $file ${file}-${time}; else cp $file /target/directory/$file; fi; done

Ceci vérifiera si le fichier existe déjà et si c'est le cas, il ajoutera le temps en secondes au nom du fichier de destination et le copiera. L'avantage de cette méthode par rapport à un simple -v verbose ou -n pas d'écrasement est qu'il s'assurera qu'il n'y a pas de doublons multiples.

En outre, cela présente l'avantage supplémentaire que si les noms de fichiers sont les mêmes mais sont différents en taille/contenu, cela vous donne la possibilité de voir les doublons potentiels et de les traiter.

0voto

Monomeeth Points 61435

Selon la version de MacOS que vous utilisez, vous pouvez simplement sélectionner tous les fichiers dans le dossier Sauvegarde AeroFS et les faire glisser dans le AeroFS dossier. Lorsque vous le ferez, vous obtiendrez le message suivant :

enter image description here

Si vous cochez ensuite la case S'appliquer à TOUS et cliquez sur le bouton Keep Both vous fusionnerez les fichiers comme vous le souhaitez. (Dans les anciennes versions de MacOS, vous pouvez être invité à utiliser le bouton Merge au lieu du bouton Keep Both bouton). Si vous n'obtenez aucune des deux options, essayez de maintenir la touche Option pendant que vous faites glisser les fichiers.

IMPORTANT - Avant de faire cela avec les dossiers que vous voulez, je créerais quelques dossiers de test (ou simplement des copies des dossiers que vous voulez fusionner) et ensuite tester ce comportement, car je ne suis pas sûr des versions de MacOS qui offraient cette fonctionnalité à l'origine.

0 votes

Malheureusement, ce n'est pas ce que nous voulons. Il continue à copier les fichiers et à faire des copies de tous ceux qui existent déjà. Nous avons besoin d'une option "Sauter"".

0 votes

Je suis un peu perdu. Si vous voulez fusionner les dossiers sans écraser les fichiers existants, n'est-ce pas exactement ce dont vous avez besoin ? Je m'excuse si j'ai oublié quelque chose d'évident, c'est une de ces journées :(

0 votes

Non, les deux dossiers sont identiques, sauf que le dossier de sauvegarde contient plus de fichiers. Si je les fusionne, tous les fichiers existants se retrouveront en double.

0voto

leora Points 5626

Synkron pourrait bien faire exactement ce que vous voulez. Le prix est correct. Il a beaucoup de fonctionnalités. Je l'utilise pour synchroniser mon dossier principal sur Mac avec un dossier NTFS sur un disque dur Raspberry pi. Il ne s'emballe pas en copiant des fichiers qui sont déjà là.

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