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
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
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 Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|