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 :

indexation des dossier et fichier


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut indexation des dossier et fichier
    Bonjour,

    j'aimerai créer un programme qui "index" tous mes repertoires et fichiers de mon disque dur.
    C'est a dire qu'il va créer un fichier(ça je sais faire^^) et qu'il va stocker les nom de fichier et dossier en suivant l'architecture.
    Apr exemple le contenu peut ressembler à cela:

    C:
    -------Program Files
    --------------aida32
    --------------codeblocks
    -------WINDOWS
    (les tiret - peuvent bien sur etre remplacé par autre chose comme des espace afin de respecter l'archtecture)

    Pouvez vous m'indiquer des pistes pour faire ça?

    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Sur quel point as tu des problèmes ? Si c'est sur le parcours du disque, peut-être que boost::filesystem pourra t'aider.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Vu le début de l'exemple, c'est du Microsoft

    Pour info, il y a déjà une commande qui fait cela : "tree" et elle date de MS-DOS.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut
    merci pour vos réponses.
    Le parcours du disque est le point qui me pose le plus de probleme en effet. Je vais m'informer donc sur boost::filesystem en attendant d'autre solution potentiel.

    ram_0000, le probleme avec tree c'est que ça ne va pas me permettre de le mettre dans un fichier.
    Pour cela il faudrai que je recupere le resultat.
    Je sais que system("tree"); permettrai d'executer la commande mais pas de recuperer les resultats pour etre stocker dans un fichier.

  5. #5
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    system("tree > fichier ") ca devrais le faire non ?

    Edit: je n'ai pas touché à windows depuis longetmps donc je ne peux garantir à 100% que la redirection de flux marche bien mais selon des vieux souvenirs, elle devrais marcher.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut
    merci system("tree > fichier "); fonctionne mais pas vraiment comme je le voudrai...

    En faite j'ai deux partition sur mon disque dur(C: et D et mon projet est enrestristré sur le Bureau(C:\Document.....).
    Quand je fait system("tree D: > fichier"); le fichier se créer dans le dossier où est mon projet et enregistre l'arborescence du D:
    Mais quand je fait system("tree C: > fichier "); ou system("tree > fichier "); le programme prend le dossier de mon projet comme etant la racine de la partition.(Il pense que le repertoire du Bureau c'est le C et du coup il fait l'arborescence du repertoire de mon projet et pas de la partition C: comme je le voudrai

    Existe t-il un moyen de coriger ce probleme?

  7. #7
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    En faisant tree c:\.
    Et en ajoutant /f si tu veux les fichiers (c'est ce que tu voulais avoir au départ, non ?

    Mais si par la suite, tu as envie d'avoir des informations complémentaires dans ton index (taille des fichiers, par exemple), ou de faire un traitement automatique dessus (recherche, par exemple), je ne pense pas que tree soit la voie à suivre. Les informations qu'il sort sont limitées et destinées à un lecteur humain. Implémenter son propre parcours récursif n'est pas très compliqué.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut
    system("tree C:\ /f"); me permet en effet d'afficher les fichier(j'ai aussi utiliser /A pour ASCII) mais l'arborescence se passe toujour dans le repertoire de mon projet. C'est a dire que,puisqu'il considere le repertoire de mon projet comme le la partition C:, il ignore tous le reste(WINDOWS,Program files...) : il se contente de faire l'arborescence du dossier de mon projet. Or je veut tous les dossier et fichier de ma partition C et non pas uniquement de mon repertoire de projet.

  9. #9
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <iostream>
     
    int main()
    {
        system("tree c:\\ /f /a > out.txt");
        return 0;
    }

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Par défaut
    c'est bon ça fonctionne avec le double \.

    merci à tous pour vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. liste déroulante + liste des dossiers et fichiers
    Par marxia4849 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/03/2013, 11h55
  2. [PowerShell] Parcourir des dossiers et fichiers et extraire les données
    Par WarriorExtreme dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 23/03/2012, 15h50
  3. Réponses: 7
    Dernier message: 06/05/2010, 17h27
  4. [XL-2007] Amélioration - Macro Liste des Dossiers et Fichiers - Colonne en ligne
    Par Shadoward dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/08/2009, 05h47
  5. Synchroniser des dossiers et fichiers sur une clé USB
    Par kilian67 dans le forum Windows XP
    Réponses: 5
    Dernier message: 01/12/2008, 17h24

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