VB.net lister tout dossiers/fichiers d'un DD

Résolu
relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   -  
relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je code en vb.net et j'aimerai lister tout les fichiers d'une partition exemple "C:\" , voici une capture contenant le code , la form et l'erreur :

https://i.imgur.com/yGCt9.jpg

Merci d'avance pour votre aide :)

6 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Aller, je pense que tu a asser chercher :-)
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Call LireRep("C:\")
        End Sub
    
        Private Sub LireRep(ByVal Repertoire As String)
            Dim Chemin As String
            Dim i As Int16
            Dim Exclure() As String = {"$", "WINDOWS", "SYSTEM", "PROGRAM", "USER", "DRIVER", "TOOLS", "BOOT"}
            Dim SousRep As String() = Directory.GetDirectories(Repertoire)
    
            For Each sRep As String In SousRep
                Chemin = Path.GetFileName(sRep).ToUpper
                'Debug.Print(Chemin)
                For i = 0 To UBound(Exclure)
                    If Microsoft.VisualBasic.Left(Chemin, Len(Exclure(i))) = Exclure(i) Then Exit For
                Next
                If i > UBound(Exclure) Then
                    Try
                        Dim FichierS As String() = Directory.GetFiles(sRep)
                        For Each Fi As String In FichierS
                            ListBox1.Items.Add(Fi)
                        Next
                        If sRep.Length > 0 Then
                            LireRep(sRep)
                        End If
                    Catch ex As Exception
                        'Debug.Print(Repertoire)
                    End Try
                End If
            Next
        End Sub

    J'ai exclu certain répertoires sinon ça prend des plombes pour lister tout les fichiers.
    A+
    5
    1. relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   26
       
      Salut ,
      merci beaucoup pour tes efforts , je vais essayer ça .
      0
    2. relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   26
       
      XD c'est 3 fois mieux que le code qui m'a pris 3H a faire dernièrement (et la je l'ai jeté a la poubelle ) , c'est exactement ce que je voulais , 1000merci lermite222 ! , problème résolue .
      0
  2. relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   26
     
    UP ! personne ne peut répondre ?! .... bizzard
    0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Beh on est bénévole et ont répond quand ont en a le temps ou l'envie non ?

    La fonction devrait .. fonctionner !
    Quel est l'erreur et sur quel ligne ?
    Je pense plutôt que ce qu'il manque ce sont les fichiers system ?
    Pour avoir accès à certain fichier il faut opérer avec le jeton Administrateur.
    Si c'est ça.. ferme la solution.
    Ouvre VB en mode administrateur (clic droit sur l'icône >> Ouvrir en tant qu'admin)
    et relance la procédure pour voir.
    A+
    0
    1. relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   26
       
      "Ouvre VB en mode administrateur (clic droit sur l'icône >> Ouvrir en tant qu'admin)
      et relance la procédure pour voir. "
      j'ai essayé ça , ça a pas marché :/ .
      "Quel est l'erreur et sur quel ligne ? "
      tout est dans la capture , y'a pas d'erreur de syntax .

      Si t'a VS2010 et que t'es sous win7 , essaye de faire fonctionner le code ^^
      Merci pour ta réponse ^^
      0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Correction..
            Try
                Dim Repertoires As String() = Directory.GetDirectories("C:\")
                For Each Rep As String In Repertoires
                    Me.ListBox1.Items.Add(Path.GetFileName(Rep))
                Next
            Catch ex As Exception
                Stop
            End Try
    0
    1. relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   26
       
      mais je veut lister tout les fichiers du disque dur y compris ceux qui sont dans les sous dossiers , aussi je veut afficher C:\..etc , ton code ne permet pas de l'afficher :/ .

      Merci beacoup pour ton aide ^^
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Hola.. faudrait mieux t'expliquer, j'ai répondu à ta demande..
    voici une capture contenant le code , la form et l'erreur :
    Comme tu avais des exceptions j'ai penser que c'était cela l'erreur que tu voulais éliminer. !!
    Dans le code tu ne te préoccupe pas du tout des sous répertoires ni des fichiers.
    Et ma boule de cristal est cassée !!

    Ta réponse..
    mais je veut lister tout les fichiers du disque dur y compris ceux qui sont dans les sous dossiers , aussi je veut afficher C:\..etc , ton code ne permet pas de l'afficher :/ .
    Mais le tien non plus, tu veux un code tout cuit ?
    Piste ?

    Dim FichS As String() = Directory.GetFiles(Rep)

    et lister FichS avec for Each comme pour les Rep
    Pour lire tout les sous-répertoires il te faut faire une sub récursive, idem pour lire les fichiers.

    Remarques:
    Tu va tout mettre dans une ListBox ?? tu n'aura aucune hiérarchie ??, pour s'y retrouver comment tu va faire ?
    Il serait plus judicieux d'utiliser une TreeView pour les répertoires et une listbox pour les fichiers. Un peu comme l'explorateur.
    Je doit encore avoir un de mes projets du début qui affiche tout les répertoires dans une TreeView il fonctionnait mais j'ai laisser tomber parce que j'employais encore le FileSystemObject qui est beaucoup plus lent.
    Si tu veux je peu te le passer pour les exemples sur la TreeView.

    Tu dis..
    0
    1. relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   26
       
      -xD pas la peine de s'enerver , je ne veut qu'être guidé pas de coder a ma place .

      na c'est pas pour etre vue , c'est pour que je calcule chaque hash md5 des fichier , pour ça je doit avec leurs emplacement .
      -ton projet il affiche tout les fichiers du disque dure ?
      0
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Je m'énerve pas, la preuve le temps que j'ai mis pour rédiger la réponse.
    Mais ça commence..
    Tu a essayé avec une fonction récursive et la piste que je t'ai donner plus haut ?
    Si ça va vraiment pas tu dis, je te montrerais.
    0