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

Windows Forms Discussion :

Lister les sous repertoires et les fichiers d'un dossier


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut Lister les sous repertoires et les fichiers d'un dossier
    Bonjour,
    Je cherche un bout de code en VB.NET permettant de lister tous les sous repertoires et tous les fichiers d'un dossier, et ensuite d'enregistrer le résultat de cette recherche dans un fichier texte. Je précise que je débute en VB.NET et que les recherche que j'ai fait sur google ne m'on pas vraiment aidés.

    Merci pour vos réponses

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Pour récupérer la liste des répertoires : Directory.GetDirectories
    Pour récupérer la liste des fichiers : Directory.GetFiles

    Après c'est juste un algorithme à mettre en place pour répondre à ton besoin.

    Pour écrire dans un fichier texte : StreamWriter fera l'affaire.
    Pas de questions techniques par MP

  3. #3
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut
    merci d'avoir répondu aussi vite StormimOn

    par contre j'ai du mal a comprendre comment utiliser StreamWriter...
    est ce que tu pourrais me donner un exemple pour que je comprenne mieux?

  4. #4
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut
    voila ca que donne mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Imports System.IO
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Try
                Directory.GetFiles("C:\Program Files", "*.*", SearchOption.AllDirectories)
                Dim monStreamWriter As StreamWriter
                monStreamWriter = New StreamWriter("C:\Liste.txt")
                monStreamWriter.WriteLine(Directory.GetDirectories("C:\Documents and Settings\bl\Bureau"))
                monStreamWriter.WriteLine(Directory.GetFiles("C:\Documents and Settings\bl\Bureau", "*.*", SearchOption.AllDirectories))
                Me.Close()
            Catch ex As Exception
                TextBox1.Text = ex.Message
            End Try
        End Sub
    End Class
    ca me cré bien un fichier "liste.txt" mais il est vide!
    si quelqu'un pouvait m'aider a améliorer mon code ce serait simpa

  5. #5
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut
    je retire ce que j'ai dit: j'avais oublié de mettre la ligne "monStreamWriter.Close()"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Imports System.IO
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Try
                Directory.GetFiles("C:\Program Files", "*.*", SearchOption.AllDirectories)
                Dim monStreamWriter As StreamWriter
                monStreamWriter = New StreamWriter("C:\Liste.txt")
                monStreamWriter.WriteLine(Directory.GetDirectories("C:\Documents and Settings\bl\Bureau"))
                monStreamWriter.WriteLine(Directory.GetFiles("C:\Documents and Settings\bl\Bureau", "*.*", SearchOption.AllDirectories))
                monStreamWriter.Close()
                Me.Close()
            Catch ex As Exception
                TextBox1.Text = ex.Message
            End Try
        End Sub
    End Class
    Et maintenant, progrès, dans mon fichier "Liste.txt" j'ai 2 lignes:
    System.String[]
    System.String[]

    Si quelqu'un a une solution je suis toujours preneur

  6. #6
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Les méthodes GetFiles et GetDirectories renvoient la liste des fichiers / répertoires d'un répertoire. Mais il faut traiter ces informations après.

    Par exemple si tu veux traiter les sous-répertoires des sous-répertoires il faudra faire un traitement récursif. Et dans tous les cas il faudra les parcourir afin de les écrire dans un fichier.

    Bref il faut coder l'algorithme de traitement, ce que tu ne fais pas. Regarde les exemples de code sur la MSDN pour chacune des méthodes. Et google n'a jamais fait de mal à personne non plus
    Pas de questions techniques par MP

  7. #7
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut
    euh ca fait pas longtemps que je me suis mis au vb.net et je n'est jamais fait de traitement récursif. Et malgré les exemple que j'ai trouvé je ne comprend pas bien comment ca marche.

    Si tu as le temps est ce que tu pourrais me dire ce que ca donne pour mon bout de code?

  8. #8
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Commence par ceci si tu débutes : http://plasserre.developpez.com/cours/vb-net/

    Et parfois rechercher du code C# plutôt que VB.Net peut aider. On trouve plus de ressources en C# je pense. C# étant quand même mieux que VB.Net (pas taper !! ), mais c'est un autre débat.

    Et pour me répéter, les exemples de code sur la MSDN pour les méthodes données plus haut peuvent aider aussi. Fouille un petit peu la documentation des classes / méthodes en question
    Pas de questions techniques par MP

  9. #9
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut
    finalement j'ai fait ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Imports System.IO
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Try
                Directory.GetFiles("C:\Program Files", "*.*", SearchOption.AllDirectories)
                Dim monStreamWriter As StreamWriter
                monStreamWriter = New StreamWriter("C:\Liste.txt")
                Dim dossiersTrouvé = Directory.GetDirectories("C:\Documents and Settings\bl")
                For Each ligneD In dossiersTrouvé
                    monStreamWriter.WriteLine(ligneD)
                Next
                Dim fichiersTrouvé = Directory.GetFiles("C:\Documents and Settings\bl\Bureau", "*.*", SearchOption.AllDirectories)
                For Each ligneF In fichiersTrouvé
                    monStreamWriter.WriteLine(ligneF)
                Next
                monStreamWriter.Close()
                Me.Close()
            Catch ex As Exception
                TextBox1.Text = ex.Message
            End Try
     
        End Sub
     
    End Class
    je ne sais pas si c'est de ca que tu parlais comme solution StormimOn mais en tout cas ca marche
    et merci beaucoup pour ton aide

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

Discussions similaires

  1. [VBA-*]Lister les sous-répertoires et les fichiers de ceux-ci
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 8
    Dernier message: 19/01/2017, 19h05
  2. lister les sous-repertoire
    Par sebasti1-88 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/09/2009, 12h10
  3. Réponses: 7
    Dernier message: 19/06/2007, 15h55
  4. [VBA-*]Lister les sous-répertoires et les fichiers de ceux-ci
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/04/2007, 22h41
  5. [windev8]lister les sous-repertoires
    Par fanant dans le forum WinDev
    Réponses: 4
    Dernier message: 26/02/2007, 09h53

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