Manipulation de fichiers

Signaler
Messages postés
30
Date d'inscription
mardi 28 février 2006
Statut
Membre
Dernière intervention
5 mars 2013
-
Messages postés
234
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
3 novembre 2011
-
Bonjour,

Un ami m'a demandé de lui faire une application pour trier et filtrer ses fichiers. Voici le modèle


aaa.mp3
aaa.cdg
bbb.mp3
ccc.cdg
ddd.mp3
ddd.cdg

Ce qu'il faut faire, c'est déplacer les fichiers n'apparaîssant qu'une fois dans un dossier nommé "Fichiers seuls".

Je sais pas trop comment m'y prendre (trouver ou éliminer des doublons c'est facile mais là, c'est le contraire ...) Auriez-vous des idées sur comment m'y prendre ?

Aussi, serait-ce mieux de faire une application console pour cela ou une application Windows ?


P.S. : mon ami a environ 20 000 fichiers à trier et filtrer.

1 réponse

Messages postés
234
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
3 novembre 2011
1
Bonjour iceman64b,

Voilà comment je m'y prendrais :

            // Liste de la totalité des signatures MD5
            var hashes = new List<string>(){};
            // Liste de la totalité des fichiers
            var fileNames = new List<string>() {};
            // Fichiers uniques
            var uniqueFileNames = new List<string>();

            for (var index = 0; index < hashes.Count; index++)
            {
                var hash = hashes[index];
                var querySameHashes = from h in hashes
                                      where h == hash
                                      select h;

                if (querySameHashes.Count() == 1)
                {
                    uniqueFileNames.Add(fileNames[index]);
                }
            }


Je crée donc une collection contenant toutes les signatures MD5 ( si tu ne sais pas comment les calculer voici un exemple ). Et je crée une seconde collection contenant tous les chemins des fichiers. Ensuite il n'y a plus qu'à repérer les signatures uniques et en ressortir le fichier analogue ;). Libre à toi de choisir une application graphique ou console, c'est juste une question de goût ...

Simon