Réseau CPC BIENDEBUTER.NET Crunchez vos adresses URL
|
Calculez la conso électrique de votre PC
|
Hébergez vos photos
+ Reply to Thread
Results 1 to 12 of 12
  1. #1
    Salut à tous,

    Je suis confronté à un petit problème dans le cadre de mon travail. J'ai un fichier qui contient environ 2400 photos de chaussures. Chaque photo est nommée d'après la référence de la chaussure. Or, ces chaussures doivent être réparties en 4 familles distinctes. Je possède 4 listes au format texte qui contiennent chacune les références propres à chaque famille.

    Ce que je voudrais, c'est pouvoir sélectionner toutes les images d'une famille pour les placer dans un autre dossier à l'aide de ma liste de références.

    J'ai trouvé ceci où un forumeur apporte une solution dans les réponses du thread. Je la conserve comme solution de secours mais je la trouve un peu lourde.

    Est-ce que quelqu'un connait un moyen plus simple de faire cela ? à l'aide d'un programme peut-être ?

    D'avance, merci
    Last edited by Alexis; 07/03/2012 at 17h03.

  2. #2
    Coin,

    - est-que cet ensemble de photos est voué à changer/grossir ? C'est pour savoir si tu veux ne faire qu'un seul tri, ou si ça serait répété dans le futur;
    - quelles sont ces familles de noms ?
    => Si ce tri n'est à faire que ponctuellement, y'a moyen de le faire simplement avec une recherche Windows (puis couper/coller les groupes dans des dossiers distincts), en faisant une recherche qui va bien (ou un autre outil de recherche, où l'on pourrait se baser sur des expressions régulières, dans le cas où les familles de noms seraient compliquées).
    => Si c'est à faire régulièrement, on peut te faire un simple programme batch (.bat) qui fera ça tout seul. Il nous faut juste savoir sur quels critères trier.

    [edit] Heu... merdouille, j'ai lu trop vite.
    Tes références de 2400 photos, elles se retrouvent toutes au total dans les 4 listes texte ? Ou ces 4 listes ne contiennent-elles que des modèles de références ?
    Last edited by gros_bidule; 07/03/2012 at 20h12.


  3. #3
    Si t'as un développeur sous la main, c'est très simple à faire, j'essaierai de te faire un truc vite fait demain

    Edit : J'avais 5 minutes à tuer :

    http://deathdigger.free.fr/classements.zip

    Je suis parti du principe que chaque ligne des fichiers représente uniquement la référence, et que les fichiers sont au format jpg, au pire tu as accès aux sources ou n'importe quelle personne connaissant la base de C# peut modifier le programme
    Si rien n'est à modifier, tu vas dans le dossier publish et tu installes le programme (setup.exe bien sûr).

    Le code pour ceux qui ne veulent pas télecharger la source en entier
    Code:
    using System;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.IO;
    
    namespace classement_fichiers
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
             //Un bouton :
            private void import_Click(object sender, EventArgs e)
            {
                ofd.ShowDialog();
            }
              // Un OpenFileDialog
            private void ofd_FileOk(object sender, CancelEventArgs e)
            {
                string ligne;
                string fichier = ofd.FileName;
                string nouveau_dossier = Path.GetFileNameWithoutExtension(fichier);
                StreamReader sr = new StreamReader(fichier);
                Directory.CreateDirectory(Path.GetDirectoryName(fichier) + @"\" + nouveau_dossier);
                while ((ligne = sr.ReadLine()) != null)
                {
                    string image_origine = Path.GetDirectoryName(fichier) + @"\" + ligne + ".jpg";
                    if (File.Exists(image_origine))
                    {
                        File.Copy(image_origine, Path.GetDirectoryName(fichier) + @"\" + nouveau_dossier + @"\" + ligne + ".jpg");
                        
                    }
                    else
                    {
                        MessageBox.Show("Fichier " + image_origine + ".jpg" + " non trouvé");
                    }
                }
                sr.Close();
                resultat.Text = "Fichier " + ofd.FileName + " traité";
            }
        }
    }
    Pour te montrer que ça marche :
    2 fichiers à traiter liste1.txt et liste2.txt :



    On ouvre l'application et on va chercher un des fichiers textes à traiter (doivent être dans le même répertoire que les images) :


    Des dossiers sont crées dans le dossier courant portant le nom du fichier texte traité, les fichiers d'images sont copiés dedans :
    Last edited by deathdigger; 07/03/2012 at 23h46.

  4. #4
    Ce héro
    Panem et circenses.

  5. #5


    Je ne sais pas comment te remercier ! Je viens de gagner un temps formidable et ton programme me sera certainement encore utile. Mille fois merci et bonne journée !

  6. #6

  7. #7
    Si j'ai fondé les "Send some Love" c'est pas pour rien

  8. #8
    Bordel, deathdigger, tu m'a redonné foi en l'être humain. C'te classe
    Quote Originally Posted by Bebealien View Post
    Barb Wire, en fait c'est du Victor Hugo avec des nichons en plastique.

  9. #9
    Pour la petite histoire, je suis dev en pme, ce qui veut dire que je fais dev et tech.
    En ce moment, c'est 100% tech, ce qui me casse un peu les noix, et ce qui fait que je "n'entretiens pas" mon niveau en dev, donc je suis friand de ces petites applis vite faites, histoire de faire ce que j'aime en informatique
    D'ailleurs faut que je finisse le timer_boulot aussi

  10. #10
    Pas mal.

    Respect.
    Quote Originally Posted by doniazade View Post
    Nan mais faut leur regarder le cul, de face, elles sont laides.

  11. #11
    Ce mec il fait un programme tout bidon et il devient un héros.
    Meow.

  12. #12


    Le pire, c'est qu'il m'a fallu 5 minutes pour le faire, alors que j'ai beaucoup plus galéré pour mon envoi de fichier en ftp (que je suis le seul à utiliser ), et pour le timer boulot

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts