Accueil > > > RECHERCHE DE FICHIERS DANS UN RÉPERTOIRE ET TOUS LES SOUS-RÉPERTOIRE (SUR PLUSIEURS NIVEAUX).
RECHERCHE DE FICHIERS DANS UN RÉPERTOIRE ET TOUS LES SOUS-RÉPERTOIRE (SUR PLUSIEURS NIVEAUX).
Information sur la source
Description
Cette procédure permet de rechercher dans un répertoire et TOUS ses sous-répertoires les fichiers ayant un nom structuré d'une certaine façon (par exemple TOTO*.xls). L'élément Application.FileSearch ayant disparu dans le passage de VB 6.0 à VB.NET, les fonctions disponibles aujourd'hui permettent de rechercher des fichiers dans un répertoire mais pas dans les sous-répertoires (de premier niveau ou des autres niveaux).
Source
- Private Sub Recursive(ByRef files As String(), ByVal file As String, ByVal chemin As String)
-
- '## files est le tableau des fichiers trouvés.
- '## file est la structure utilisée pour la recherche.
- '## chemin est le répertoire de base dans lequel s'effectue la recherche.
-
- Dim souschemins As String() '## Ensemble des sous-répertoire du répertoire chemin.
- Dim souschemin As String '## Sous-répertoire dans lequel se poursuit la recherche.
- Dim fichiers As String() '## Ensemble des fichiers trouvés dans le répertoire
- '## chemin et correspondant à la structure file.
- '## Il correspond au tableau files mais pour le
- '## répertoire en cours de traitement.
- Dim i As Integer '## Compteur des fichiers trouvés dans le répertoire en
- '## cours de traitement.
- Dim dimens As Integer '## Dimension du tableau files avant qu'il soit
- '## redimensionné.
-
- fichiers = System.IO.Directory.GetFileSystemEntries(chemin, file)
- If fichiers.Length > 0 Then
- If files Is Nothing Then
- ReDim files(fichiers.Length - 1)
- Else
- dimens = files.Length
- ReDim Preserve files(files.Length + fichiers.Length - 1)
- End If
-
- For i = 0 To fichiers.Length - 1
- files(dimens + i) = fichiers(i)
- Next
- souschemins = System.IO.Directory.GetDirectories(chemin)
- For Each souschemin In souschemins
- Recursive(files, file, souschemin)
- Next
- End If
- End Sub
Private Sub Recursive(ByRef files As String(), ByVal file As String, ByVal chemin As String)
'## files est le tableau des fichiers trouvés.
'## file est la structure utilisée pour la recherche.
'## chemin est le répertoire de base dans lequel s'effectue la recherche.
Dim souschemins As String() '## Ensemble des sous-répertoire du répertoire chemin.
Dim souschemin As String '## Sous-répertoire dans lequel se poursuit la recherche.
Dim fichiers As String() '## Ensemble des fichiers trouvés dans le répertoire
'## chemin et correspondant à la structure file.
'## Il correspond au tableau files mais pour le
'## répertoire en cours de traitement.
Dim i As Integer '## Compteur des fichiers trouvés dans le répertoire en
'## cours de traitement.
Dim dimens As Integer '## Dimension du tableau files avant qu'il soit
'## redimensionné.
fichiers = System.IO.Directory.GetFileSystemEntries(chemin, file)
If fichiers.Length > 0 Then
If files Is Nothing Then
ReDim files(fichiers.Length - 1)
Else
dimens = files.Length
ReDim Preserve files(files.Length + fichiers.Length - 1)
End If
For i = 0 To fichiers.Length - 1
files(dimens + i) = fichiers(i)
Next
souschemins = System.IO.Directory.GetDirectories(chemin)
For Each souschemin In souschemins
Recursive(files, file, souschemin)
Next
End If
End Sub
Conclusion
Attention, il faut compléter ce source avec une gestion d'erreur, du genre vérifier que le fichier chemin existe bien, que la structure file ne contient pas de caractère interdit.
Salutations
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|