in

Comment conserver les fichiers du même nom dans la synchronisation

Vous avez probablement entendu parler de services, tels que Dropbox, qui sont utilisés pour synchroniser les fichiers sur plusieurs machines. Cependant, que se passe-t-il si vous souhaitez effectuer cette opération sur une seule machine? Autrement dit, gardez les fichiers qui ont le même nom de fichier synchronisés sur la machine de sorte que lorsqu’un des fichiers change, ils sont tous mis à jour.

Cette fonctionnalité peut être très utile, en particulier pour les développeurs ou les administrateurs système où la duplication de fichiers est parfois nécessaire.

Comment ça fonctionne

Supposons que vous soyez un développeur Web qui, au fil du temps, a rassemblé une belle collection de fonctions Javascript que vous utilisez sur tous les sites que vous gérez. Au fur et à mesure que vous ajoutez ou améliorez ce fichier Javascript (appelons-le «library.js»), seule la copie actuelle que vous éditez est mise à jour. Cela signifierait, par exemple, que si vous apportez une correction de bogue ou une amélioration, vous devrez également l’appliquer manuellement à chacun des dossiers de code source de vos autres sites.

Notre outil tente de résoudre le problème d’avoir à appliquer manuellement le fichier mis à jour à chaque dossier source. Ce qu’il fait:

  1. Recherche tous les fichiers avec un nom spécifié (library.js) dans un dossier racine spécifié (% UserProfile% Documents Web Sites).
  2. Pour tous les fichiers nommés library.js, il localise celui qui a été modifié le plus récemment et note sa valeur de hachage de fichier.
  3. Tous les autres fichiers nommés library.js (qui ne sont pas la copie mise à jour la plus récente) ont alors leur valeur de hachage de fichier comparée à la plus récente (déterminée à l’étape précédente).
  4. Si les valeurs de hachage du fichier sont différentes, la copie respective de library.js est remplacée par la copie la plus récemment mise à jour.

Parce que nous utilisons valeurs de hachage pour comparer les fichiers, nous sommes assurés que les fichiers remplacés sont en effet différents de la copie la plus récente. Par exemple, si vous exécutez le processus et que 5 remplacements de fichiers ont été effectués, réexécuter le processus immédiatement après ne ferait aucun remplacement puisque les valeurs de hachage du fichier sont désormais identiques.

Mettre à jour vers le plus récent outil de copie

L’outil de mise à jour vers le plus récent outil de copie est une version modifiée d’un script batch portant le même nom (les deux sont disponibles en téléchargement en utilisant les liens au bas de l’article) qui a été converti en fichier EXE afin d’inclure le fichier requis Utilitaire Nirsoft HashMyFiles. L’outil doit être exécuté à partir de la ligne de commande avec certains paramètres spécifiés. Si vous deviez simplement exécuter le fichier EXE en double-cliquant, vous obtiendrez un message indiquant cela.

Pour utiliser la mise à jour vers la copie la plus récente, vous pouvez afficher les paramètres en exécutant «UpdateToNewestCopy /?» qui montre la boîte de dialogue suivante:

Les seuls paramètres requis sont le SourceFolder (par exemple% UserProfile% Documents Web Sites) et le FileName (library.js). Cependant, vous pouvez modifier la fonctionnalité en ajoutant des commutateurs supplémentaires comme décrit ci-dessus.

Exemples

La commande suivante trouverait tous les fichiers nommés «Common.vb» dans le dossier «C: users jfaulkner documents Code Files», effectuant le remplacement mais faisant une sauvegarde de la copie actuelle avant l’écrasement (cette sortie est ce qui a produit le image du haut de cet article):

UpdateToNewestCopy « C: users jfaulkner documents Code Files » Common.vb / B

La commande suivante effectue la même action de recherche que ci-dessus, mais elle ne rapporte que les fichiers qui seraient remplacés et n’effectue en fait aucune opération sur les fichiers:

UpdateToNewestCopy « C: users jfaulkner documents Code Files » Common.vb / V

Supposons qu’il existe un fichier nommé «C: Config FilesToSearch.txt» avec le contenu suivant:

library.js
Common.vb

La commande suivante rechercherait dans le dossier mes documents de l’utilisateur actuel et ferait rapport sur les mises à jour de «library.js» et «Common.vb», mais n’effectuerait en fait aucune opération de mise à jour:

UpdateToNewestCopy «% UserProfile% Documents» «C: Config FilesToSearch.txt» / L / V

Automatiser le processus

Ce processus est un candidat idéal pour l’automatisation. En créant une tâche planifiée (rien de spécial requis) avec les paramètres spécifiés et en l’exécutant tous les jours / toutes les heures / toutes les 15 minutes (selon vos besoins), vous pouvez garder les fichiers synchronisés en vrai set-it-and-forget-it mode.

Télécharger

Mettre à jour vers la copie la plus récente – format exécutable modifié

Mettre à jour vers la copie la plus récente – fichiers de commandes source (plus orienté ligne de commande)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Six choses que vous devez faire immédiatement après avoir branché votre nouveau routeur

Six choses que vous devez faire immédiatement après avoir branché votre nouveau routeur

Comment supprimer votre compte Facebook

Comment supprimer votre compte Facebook