Bonjour,
Je cherche depuis environ deux mois ( pas jours et nuits je vous rassure ) un moyen de lister tous les dossiers et sous dossiers d'un disque dur et d'en scanner les fichiers afin de récupérer les fichiers d'une certaine extension que j'aurai choisie auparavant. Je pense qu'il faut d'abord que j'arrive a lister les dossiers en partant de la racine C: ; ensuite lister les sous dossiers des dossiers trouvés dans C: ensuite une fois tout cela fini, lister les fichiers de tous les dossiers trouvés et récupérer que les fichiers avec l'extension choisie.

J'ai donc trouvé plusieurs codes grâce à mes nombreuses recherches, au début j'avais un problème d'accès aux dossiers qui me faisait planter le programme, j'ai trouvé un code qui me permet de lister les dossiers de C: mais je n'arrive pas à le modifier pour qu'il scanne les sous dossiers des dossiers trouvés, de plus il me met dans ma liste box plusieurs fois les dossiers.
Je voudrais donc que quelqu'un m'aide à le modifier pour qu'il scanne les sous dossiers et j’essaierai de me débrouiller pour qu'il récupère les fichiers.
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
28
    Private Sub LireRep(ByVal Repertoire As String)
        Dim Chemin As String
        Dim i As Int16
        Dim Exclure() As String = {}
        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 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
            End If
        Next
    End Sub
 
    Private Sub BtnRécupérer_Click(sender As Object, e As EventArgs) Handles BtnRécupérer.Click
        Call LireRep("C:\")
    End Sub


Merci de votre aide