IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Rechercher les fichiers en double


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 17
    Points
    17
    Par défaut Rechercher les fichiers en double
    Bonjour tout le monde,

    voila j'ai un espèce de projet a faire en c# mais je galère, quelqu'un pourrait m'aider, me donner des pistes svp?

    Voila ce que je dois faire:
    Sur chaque machine, plusieurs processus possédant une liste des documents qualité parcours le disque au démarrage de l'application. Lorsqu'une copie locales est découvert l'utilisateur en est informé et la copie locale est supprimée.

    Et voila.

    Je vous remercie d'avance.

  2. #2
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    un FileSystemWatcher?

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Plusieurs processus en même temps, il risque pas d'y avoir des conflits d'accès aux fichier ?

    Pourquoi plusieurs processus, un seul ne suffit pas ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    ca c'est mon sujet lol
    en fait faut que l'appli scanne tous les fichier et supprime en locale lorsqu'il y a une copie.

  5. #5
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Citation Envoyé par caro93150 Voir le message
    en fait faut que l'appli scanne tous les fichier et supprime en locale lorsqu'il y a une copie.
    comme l'a dit harz, tu risques pas d'avoir des conflils d'accès?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    oui c'est vrai donc faisons ça avec un processus.
    mais comment faire...telle est la question...

    je voudrais déja juste savoir comment fait avec le multithreading pour pouvoir scanner les doc (dans un fichier txt ou xml).

  7. #7
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    que ce soit avec 1 Thread ou avec plusieurs, c'est pareil, tu auras juste a utiliser un Mutex ou un Lock des que tu utiliseras plusieurs Thread.

    ensuite si tu dois juste trouver les doublons dans les noms et non dans le contenu, c'est tout simple :
    pour lister les fichiers récursivement d'un disque ou d'une partition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Directory.GetFiles(@"H:\", "*", SearchOption.AllDirectories);
    ensuite farfouille le tableau pour y chercher les doublons

    si c'est dans le contenu, j'utiliserais une fonction qui crée un clé MD5 (certains gars utiliseraient plutôt un CRC) des fichiers sources (ceux dont il faut vérifier la copie) a comparer au MD5 des fichiers cible

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Comme l'a dit Lorenzo77, tu peux utiliser la classe Mutex pour synchoniser des processus, l'instruction Lock pour synchroniser les différents thread pour qu'il soit thread-safe (et implémenter le pattern SyncRoot).

    Sinon tu peux utiliser la classe Interlocked, qui réaliser des opérations atomiques pour synhroniser des accès.

Discussions similaires

  1. Rechercher les fichiers compris entre deux tailles
    Par zara5 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 18/08/2014, 10h11
  2. Rechercher les fichiers créés le jour même
    Par Invité dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 04/04/2014, 21h30
  3. Réponses: 2
    Dernier message: 29/12/2013, 13h29
  4. Réponses: 3
    Dernier message: 11/06/2009, 17h49
  5. Detecter les fichiers en double ?
    Par byloute dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 03/11/2007, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo