Détecter si le contenu d'un répertoire à changer [Résolu]

Signaler
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
-
Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011
-
Salut à la communauté,
J'aimerais savoir si il existe un moyen simple de détecter si le contenu d'un répertoire  à changer:
-Ajout et suppréssion  d'un ou plusieurs fichier(s)
-Modification du contenu d'un ou plusieurs fichier(s)
-Le nombre importe peu
Merci
 

10 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
64
Hello,

Si tu veux détecter les changements dans un répertoire durant l'éxécution d'un programme, regarge du côté de FileSystemWatcher

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
341
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
10 février 2009
2
Salut, tu veux aussi vérifier le contenu des fichiers ? Si oui, ma solution ne sera pas complète, elle teste juste la présence.
Le principe c'est de créer un arbre Xml (XmlDocument) dont le noeud parent est le dossier que tu veux surveiller, contenant comme noeuds les sous dossiers et fichiers. Avec  une fonction récursive c'est assez simple. Par contre il y a surement mieux (sérialisation ?) si tu veux vérifier aussi les contenus
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Pour vérifier si le contenu d'un fichier a changé, le mieux c'est peut-être de faire un hash pour chaque fichier et de les comparer pour voir s'ils sont identiques....
En tout cas c'est à explorer....

<hr />
-Blog-
Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011

Effectivement comme l'a dit Bidou ya pas de solution miracle la il faut faire un hash des fichier pour verifié si le contenu a changé la date de modification est qqchs qui est devenue disont "obsolete" vu la simplicité avec laquelle elle peut etre faussé, changée ect ...
mais bien entendu il est aussi suggeré de lier ceux ci a un arbre XML par exemple pour comparer les ajout/suppr de fichier
sachant que les fichier renomer ne pourront pas etre retrouver (sauf par hash identique mais si le contenu est aussi changer c'est perdu)
et ya pas d'histoire de reinventer la roue vu que le FileWatcher doit tres probablement hooker les appel de creation, suppr ect ... aux fichier et genere les events depuis ceux ci

TeBeCo
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
Salut,
En fait, je veux détecter les changements qui ont été fait "offline".
Par exemple, au démarrage de l'application ou à un moment précis.
Cordialement, xmox667
Messages postés
341
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
10 février 2009
2
Salut, si tu veux détecter les changements offline, la solution la plus simple (mais c'est brutal) c'est de faire un arbre Xml du contenu du dossier (fichier et sous dossier) à la sortie du programme et de le comparer à celui créé à l'ouverture de l'appli.
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
Salut,
J'avais pensé à un solution de comparaison (fichiers à fichiers) mais je me dis qu'il devait exister plus simple ( ne pas réinventer la roue à chaque fois).
Ta solution m'interesse mais je n'y connais pas grand chose en Xml.
Si tu peux m'indiquer les classes .Net à utiliser ça permettrait de partir sur une bonne base.
Cordialement, Xmox667
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
Sinon, y aller avec la date de derniere modification ?

Eric
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
Suite à cette discussion,
je pense que je vais mettre en oeuvre un service windows couplé à un FileWatcher.

A+ sur le forum
Messages postés
467
Date d'inscription
lundi 24 juin 2002
Statut
Membre
Dernière intervention
9 mars 2011