Accueil > > > RÉCUPÉRER LA LISTE DES FICHIERS (AVEC OU SANS EXTENSION PRÉCISE) D'UNE ARBORESCENCE
RÉCUPÉRER LA LISTE DES FICHIERS (AVEC OU SANS EXTENSION PRÉCISE) D'UNE ARBORESCENCE
Information sur la source
Description
Cette fonction renvoie un tableau de string avec le chemin d'accès de tous les fichiers se trouvant dans l'arborescence spécifiée en paramètre. exemple d'utilisation : 'Renvoie tous les fichiers Dim tab() as String = getFilesInDirectory("d:\") 'Renvoie tous les fichiers ayant l'extension .mp3 ou .avi Dim tab() as String = getFilesInDirectory("d:\","mp3;avi")
Source
- 'Charge un tableau de String avec la liste des chemins d'accès des fichiers d'une arborescence
- Private Function getFilesInDirectory(ByVal path As String, Optional ByVal ext As String = "") As String()
- 'Déclarations
- Dim dir As IO.Directory
- Dim arrFiles As New ArrayList
- Dim file As String
- Dim tabExt() As String = Split(ext, ";")
- Dim nbExt As Int32 = tabExt.Length
- Dim i, j As Int32
- Dim trouve As Boolean
-
- Try
- 'On copie tous les "fichiers" du répertoire path...
- '... dans le tableau arrFiles
- arrFiles.AddRange(dir.GetFileSystemEntries(path))
-
- 'Pour chaque fichiers du tableau...
- i = 0
- While i < arrFiles.Count
- file = arrFiles(i)
-
- '...si c'est un répertoire
- If dir.Exists(file) Then
- '...alors on ajoute tous les fichiers qu'il contient...)
- arrFiles.AddRange(getFilesInDirectory(file, ext))
- End If
-
- '... si le fichier n'a pas l'extension souhaitée...
- '... ou que c'est un répertoire alors...
- '... on supprime la ligne SANS incrémenter i...
- '... car en supprimant, on va "remonter" tous les éléments...
- '... suivant cette référence et l'élément suivant l'élément courant...
- '... n'aurait pas été traité si on aurait incrémenté i
- If dir.Exists(file) Then
- arrFiles.RemoveAt(i)
- Else
- 'test d'extension
- trouve = False
- j = 0
- While Not trouve AndAlso j <= nbExt - 1
- If file.EndsWith("." & tabExt(j)) Then
- trouve = True
- Else
- j += 1
- End If
- End While
-
- 'S'il a pas trouvé les extensions... on le supprime
- If Not trouve Then
- arrFiles.RemoveAt(i)
- Else
- i += 1
- End If
-
- End If
- End While
-
- Return (arrFiles.ToArray(GetType(String)))
-
- Catch ex As Exception
- MsgBox(ex.Message, MsgBoxStyle.Critical, "Erreur")
- Return (Nothing)
- End Try
- End Function
'Charge un tableau de String avec la liste des chemins d'accès des fichiers d'une arborescence
Private Function getFilesInDirectory(ByVal path As String, Optional ByVal ext As String = "") As String()
'Déclarations
Dim dir As IO.Directory
Dim arrFiles As New ArrayList
Dim file As String
Dim tabExt() As String = Split(ext, ";")
Dim nbExt As Int32 = tabExt.Length
Dim i, j As Int32
Dim trouve As Boolean
Try
'On copie tous les "fichiers" du répertoire path...
'... dans le tableau arrFiles
arrFiles.AddRange(dir.GetFileSystemEntries(path))
'Pour chaque fichiers du tableau...
i = 0
While i < arrFiles.Count
file = arrFiles(i)
'...si c'est un répertoire
If dir.Exists(file) Then
'...alors on ajoute tous les fichiers qu'il contient...)
arrFiles.AddRange(getFilesInDirectory(file, ext))
End If
'... si le fichier n'a pas l'extension souhaitée...
'... ou que c'est un répertoire alors...
'... on supprime la ligne SANS incrémenter i...
'... car en supprimant, on va "remonter" tous les éléments...
'... suivant cette référence et l'élément suivant l'élément courant...
'... n'aurait pas été traité si on aurait incrémenté i
If dir.Exists(file) Then
arrFiles.RemoveAt(i)
Else
'test d'extension
trouve = False
j = 0
While Not trouve AndAlso j <= nbExt - 1
If file.EndsWith("." & tabExt(j)) Then
trouve = True
Else
j += 1
End If
End While
'S'il a pas trouvé les extensions... on le supprime
If Not trouve Then
arrFiles.RemoveAt(i)
Else
i += 1
End If
End If
End While
Return (arrFiles.ToArray(GetType(String)))
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Erreur")
Return (Nothing)
End Try
End Function
Conclusion
Pour les explications, regardez les commentaires, je trouve que c'est suffisant!
Historique
- 22 mai 2005 21:12:59 :
- Maintenant, on peux spécifier plusieurs extensions en spéarant les extensions par des ";"
- 30 mai 2005 16:23:12 :
- Plus besoin de la classe ArrayListEx !!!
- 13 juin 2005 17:49:24 :
- Y avait un gros bug idiot que je n'avais pas géré dans la version précédente. Maintenant ça fonctionne tout bien! (j'ai testé)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Supprimer des sous répertoires [ par JCLK ]
Je sais comment lister le contenu des fichiers d'un répertoire avec "Dir", mais je me demande comment lister les sous-répertoires de ce même fichier.J
Lister tous les fichiers d'un répertoire [ par Adrien ]
Salut !Je suis entrain de créer un programme d'installation pour une petite application et je cherche le moyen de lister tous ses fichiers contenus su
Lister les fichiers d'un répertoire donné et leur taille [ par seb ]
Désol', je suis nouveau sous VB...Merci de me répondre, en l'occurence, je voudrais énumérer les DLLs d'un répertoire donné (c:\Windows\System)
comment lister le nom des fichiers dans un rep et les copier dans une BD [ par YOYO292 ]
J'ai un repertoire c:\Rep\Data\avec des fichiers mdb dedansj'ai une base de données c:\rep\bibilio.mdbavec une table reference avec deux champs : nom,
Lister Recursivement des repertoires et fichiers [ par benxen ]
Hello,Je souhaierais savoir comment faire en VB pour lister les répertoires, sous-rep, sous-sous-rep, etc... d'un répertoire (ex: c:\winnt\)(de meme p
listing d'un cdrom [ par benb78 ]
Bonjour à tous,J' aimerai, lorsque j'introduis un cdrom dans mon lecteur, pouvoir lister tous les fichiers qu'il contient et enregistrer cette liste d
listing d'un cdrom [ par benb78 ]
Bonjour à tous,J' aimerai, lorsque j'introduis un cdrom dans mon lecteur, pouvoir lister tous les fichiers qu'il contient et enregistrer cette liste d
Lister, Organizer de fichier (myOrganizer de Peter S. Hou. (Info demandé svp)) (TreeView) [ par bizmoute ]
Bonjour,Je cherche un moyen de faire un listeur de fichier comme celui de Peter S. Hou.Disponible surhttp://www.kingofmath.com/Freeware/myorganizer/po
PLEASE HELP ! besoin d'un soft pour lister des fichiers docs et les ouvrir [ par arnaud ]
BONJOUR A TOUS CEUX QUI LIRONT CE MESSAGE !j'ai besoin d'une petite application (je ne sais pas programmer !)qui me permette de lister dans une listbo
Lister le contenue d'un dossier (fichiers(des sous répertoires)) [ par cbjp85 ]
Salut, je suis débutant et je voudrais savoir comment je pourrais faire pour lister le contenu d'un dossier et de ses sous dossier avec la fontion dir
|
Derniers Blogs
[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE par Audrey
Dans un de mes articles précédents , j'avais parlé des DomainDataSource avec RIA Services dans le cas d'une interface Maître - Détail. Dans le même principe, je vais parler d'une autre manière de mettre en forme ce cas d'interface avec RIA Services. Et po...
Cliquez pour lire la suite de l'article par Audrey ZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATIONZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATION par ROMELARD Fabrice
Une des nouveautés de la version V 3.0 était l'apparition de l'onglet Social qui ne fonctionnait que si le MarketPlace était activé sur son poste. Cela limitait donc son intérêt, car hors du cadre commercial USA-CANADA, peu de monde trouva...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|