Bonjour,
Je produits un module dans un programme qui va servir à chercher des fichiers dans les partitions du poste de travail.
J'ai un treeview qui affiche de base les partitions accessibles sur le poste de travail et il est possible de voir les sous-dossiers (répertoires).
Tout cela fonctionne.
J'ai commencé le code pour lister les fichiers dans chaque dossier et sous-dossiers. J'ai encore des bugs pour lister le tout...
Mais ou que ça bloque c'est lorsque le programme lit des dossiers "systèmes" tout arrête.... Voici ce que je peux avoir comme message d'erreur :Je vous mets le code qui fait la liste des fichiers dans les dossiers et sous-dossier.L'accès au chemin d'accès 'D:\System Volume Information' est refusé.
SI je mets un try catch ça m'affiche un message me disant que le dossier n'est pas accessible...
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
29
30 Dim subdirs As String() = Directory.GetDirectories(Chemin) ' chemin est une variable globale qui contient le répertoire de départ pour la recherche Dim files As String() = Directory.GetFiles(Chemin) Dim toto As String = "" ' Si 0 sous dossier alors verifier les fichier sur racine, ' sinon on vérifie les fichier sur la racine et ensuite on vérifie chaque sous-dossier. If subdirs.Length = 0 Then ' si pas de sous-dossier alors on vérifie les fichiers sur racine. If files.Length <> 0 Then ' s'il y a des fichiers alors on vérifie chaque fichier. For Each fichier As String In files toto = toto & " " & Path.GetFileName(fichier) & " " ' pour l'instant je saisie tous les noms des fichiers. Next MsgBox(toto) ' afficher tous les fichiers trouvés. Else MsgBox("Aucun résultat pour recherche!") ' avertir qu'il n'y a pas de fichier trouvé. End If Else ' on vérifie les sous-dossier For Each subrep As String In subdirs If files.Length <> 0 Then For Each fichier As String In files toto = toto & " " & Path.GetFileName(fichier) & " " Next End If files = Directory.GetFiles(subrep) Next msgbox (toto) End If
J'aimerais savoir comment faire pour que le programme lit seulement les dossiers standards et non système ?
Merci
AngelEvil!
Partager