2 votes

"synchroniser" le contenu via le nom de fichier

D'accord, j'ai téléchargé 5 gigas d'images sur Dropbox, et celles-ci proviennent directement de l'appareil photo.

Dans un autre pays, mon ami qui dispose d'une connexion Internet défectueuse (et qui a récupéré un CD contenant les images) a copié les images dans un dossier sur son bureau et a commencé à les trier, c'est-à-dire à supprimer les mauvaises images ou les images inutiles. Je ne peux pas lui demander de télécharger 5gigs sur MON compte Dropbox personnel, alors qu'il m'a fallu une semaine pour le faire avec mon internet plus rapide.

Existe-t-il un logiciel que je puisse exécuter sur son PC Windows 8 pour prendre une liste de noms de fichiers (répertoire récursif, puisque je lui ai donné trié dans des dossiers individuels pour chaque événement) ; qui, une fois exécuté à nouveau sur mon MacBook Snow Leopard, serait capable de voir quelles images ont été supprimées sur l'ordinateur de mon ami ; et ensuite de les supprimer de mon côté.

Si un tel programme n'existe pas, quel cadre puis-je utiliser pour le programmer (je développe sur Mac) ? Et quels conseils me donneriez-vous ?

1voto

Scott Points 20468

Cette réponse s'inspire largement de certains commentaires. Demandez à votre ami de courir

dir /b/s/a-d > dir.out

Vous courez

find . -print > find.out

Normaliser dir.out y find.out :

  • uniformiser les fins de ligne (par exemple, NL ou CRLF),
  • Supprimer les préfixes communs ( C:\Users\… y ./ ),
  • Modifier les barres obliques inverses ( \ ) aux barres obliques ( / ) en dir.out et
  • Trier les deux fichiers.

Maintenant, faites

comm dir.out find.out

(Il est possible que vous souhaitiez insérer ces données dans une page d'accueil telle que more o less .) Le résultat se compose de trois colonnes :

  1. Entrées (noms de fichiers) présentes uniquement dans le premier fichier ( dir.out ). Il ne devrait pas y en avoir ; s'il y en a, c'est que votre ami a inclus un fichier qu'il n'a pas reçu de vous, ou que vous n'avez pas complètement normalisé les fichiers. (D'accord, cela dépend de la façon dont votre ami a procédé pour normaliser ses fichiers. dir la commande dir.out fichier elle-même pourrait apparaître dans la colonne 1).
  2. Entrées présentes uniquement dans le deuxième fichier ( find.out ). Il s'agit des noms des fichiers que vous avez sur votre système mais que votre ami n'a pas listés. En d'autres termes, il s'agit des fichiers que vous souhaitez supprimer.
  3. Les entrées sont présentes dans les deux fichiers. Ce devrait être la même chose que dir.out .

S'il y a des faux négatifs en raison de la non-concordance des cas ('A' != 'a'), essayez le comm avec un -f option. Vous devrez probablement répéter l'opération sort avec un -f également.

Maintenant , type comm -13 dir.out find.out . Cette syntaxe incroyablement abîmée par le cerveau signifie "donnez-moi toutes les sorties normales sauf les colonnes 1 et 3", en d'autres termes, ne sortez que la colonne 2. Comme indiqué ci-dessus, il s'agit de la liste des fichiers que vous souhaitez supprimer, donc insérez-la dans xargs rm ou quelque chose comme ça.


Je présume que vous n'avez pas de caractères sauvages et bizarres (comme l'espace, les guillemets, '*', '?', '<', '|', etc.) dans vos noms de fichiers. ) dans vos noms de fichiers. (Cela ne devrait pas poser de problème ; les appareils photo ont tendance à utiliser des noms de fichiers tels que "DSCN1234.JPG").

0voto

uncle daryl Points 23

Vous pourriez le faire avec GoodSync Connect (non affilié). L'utilisation de cette fonctionnalité est payante, mais la version gratuite offre une période d'essai de 30 jours pendant laquelle elle fonctionne.

  1. Vous installez GoodSync des deux côtés (il existe des versions Mac, Windows et Linux). Linux).
  2. Vous configurez GoodSync Connect qui établit un lien direct où les informations sur les répertoires sont transférées via un médiateur, mais pas les fichiers eux-mêmes.
  3. De votre côté, vous créez une tâche de synchronisation.
  4. Sélectionnez le dossier Dropbox contenant les images.
  5. Votre ami copie les fichiers du DVD dans un répertoire. Sélectionnez ce dossier via GoodSync Connect.
  6. Vous sélectionnez l'option Analyser dans la tâche de synchronisation. GS établit maintenant que les deux dossiers sont identiques. Un fichier de comparaison de référence est ainsi créé de part et d'autre. (Important !)
  7. Ensuite, votre ami supprime les photos dont il ne veut pas. (Ou, s'il l'a déjà fait, il supprime le contenu du dossier dans lequel il a stocké toutes les images, à l'exception du dossier _gsdata. Il y place les dossiers modifiés).
  8. Effectuez une analyse, qui vous donnera un aperçu.
  9. Si vous êtes d'accord, synchronisez. GoodSync fera son travail.

Notes :

  • GoodSync détectera les déplacements et les renommages de fichiers et de dossiers et devrait fonctionner sans problème. Il ne tentera donc pas de déplacer des fichiers. (Sauf si le contenu du fichier a été modifié. Mais c'est pour cela que vous devez d'abord analyser).
  • GoodSync supprimera les fichiers que votre ami a supprimés. Ils se retrouveront dans la corbeille.
  • Oh, et faites une sauvegarde avant cela. Oui, sérieusement. Ou essayez-le localement.
  • Et si vous ne faites pas confiance à votre ami, désactivez le serveur GoodSync Connect une fois que vous avez terminé. Sinon, votre ami verra tous vos fichiers. (Il existe probablement un moyen de contourner ce problème, mais je ne l'ai pas encore trouvé).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X