[Ex] Copie/synchronisation de dossiers

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

[Ex] Copie/synchronisation de dossiers

#1

Message par ZDS »

Bonjour à tous (re pour ceux qui ont été faire un tour sur mon autre post du jour),

Je vous partage un script de synchro de dossiers. Utile pour vos projets logiciels, ou vos bibliothèques photos/vidéos. Le principe est simple, choisir deux répertoires et les comparer, savoir quels fichiers ou dossiers manquent dans l'un ou dans l'autre, ou encore quels fichiers sont en conflits. Voici le script :
► Afficher le texteComparaison.au3
Comment ça marche ?
  • Lancer le script
  • Cliquez sur le bouton "Dossier de gauche" pour choisir un premier dossier racine à comparer
  • Cliquez sur le bouton "Dossier de droite" pour choisir un second dossier racine à comparer
  • Cliquez ensuite sur "Scan" pour lancer une comparaison des deux ressources sélectionnées
  • Vous voyez maintenant dans la listview tous les fichiers et dossiers qui ne sont pas identiquement traités dans ces deux dossiers, avec pour chacun une remarque expliquant la différence :
    • Dossier/fichier manquant à gauche
    • Dossier/fichier manquant à droite
    • Dossiers/fichiers en conflit
    • ...
  • Sélectionnez les fichiers/dossiers à traiter avec les checkbox
  • Faites un clic droit sur la listview pour faire apparaitre les options possibles :
    • Copier vers la gauche/droite
    • Supprimer à gauche/droite
    • Tout supprimer (pas encore codée)
    • Tout synchroniser (idem, à faire)
    • Ouvrir le(s) dossier(s)
  • Pour chaque option choisie, vous aurez un message récapitulatif et de confirmation avec la taille traitée, le nombre de fichiers écrasés ou ignorés, etc...
  • Validez et laissez faire la procédure (qui peut être assez longue si vous avez des gigas à traiter ^^)
  • Un message à la fin de la procédure vous indiquera si la copie s'est bien passée, et voila !
Pour filtrer les résultats obtenus, il vous faudra peut-être modifier les paramètres du logiciel (comme d'autres scripts de mon cru, le bouton en forme d'outils en haut à droite est là pour ça, vous éditez ainsi le fichier de config, et toute modif sera automatiquement appliquée en quittant la config). Vous aurez accès à 4 variables pratiques : "FiltreFichiers", "ExclusionFichiers", "FiltreDossiers" et "ExclusionDossiers". Vous pourrez y déterminer les regexps pour filtrer ou pour exclure certains fichiers ou dossiers. Exemple : Sélectionner uniquement les fichiers AVI, MKV ou MP4, et ne pas prendre les dossiers système du genre de $RECYCLE.BIN qu'on peut trouver à la racine des disques durs

Code : Tout sélectionner

FiltreFichiers=\.(avi|mp4|mkv)$
ExclusionFichiers=
FiltreDossiers=
ExclusionDossiers=^(\$RECYCLE\.BIN|System Volume Information|found\.\d+)$
A bientôt !

PS: Pour faire apparaître les paramètres de config, il se peut que vous deviez lancer le script puis le quitter (pour créer le fichier) et le relancer pour pouvoir voir les données en question.

EDIT : Petit tuyau en passant, comme dans beaucoup de mes scripts à base de listview, un clic sur l'entête de la première colonne permet d'inverser la sélection. Quand on a plein de fichiers à sélectionner sauf deux ou trois, c'est pratique. Sur les autres colonnes (comme les deux suivantes qui forment des cases orange ou rouges), cela permet de trier les résultats.
Fichiers joints
Comparaison.au3
Code source
(38.13 Kio) Téléchargé 457 fois
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [Ex] Copie/synchronisation de dossiers

#2

Message par jguinch »

Salut ZDS.
Deux exemples le même jour, tu nous gâtes !
Vraiment sympa ton script, bravo pour le boulot !
C'est une demande qui a été faite plusieurs fois assez récemment, donc je pense que certains vont trouver leur bonheur ici...

[Mode chiant ON]
Pense à supprimer les fonctions qui ne servent pas :roll:
[Mode chiant OFF]
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre