Liste des fichiers d'un répertoire au format html

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 770 fois - Téléchargée 26 fois

Contenu du snippet

- Permet de faire la liste des tous les fichiers contenus dans un répertoire ou un lecteur.
- Le résultat de cette recherche est sauvegardé dans un fichier .html à la racine du répertoire de recherche.
- Le fichier de résultat contient le chemin complet de chaque fichier, et grâce à des liens hypertexte, un clic permet d'ouvrir le fichier désiré.

Source / Exemple :


Const dirToList As String = "C:\Temp\"

Private Sub frmListFilesDirToHtml_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Hide()
        Call listFilesInitPath(dirToList)
        Call listAllDir(dirToList)
        Me.Close()
End Sub

'Liste des fichiers sous le rep racine
Private Sub listFilesInitPath(ByVal initPath As String)
        Dim initPathFiles As String
        Dim listStreamWriter As StreamWriter

        For Each initPathFiles In Directory.GetFiles(initPath, "*.*")
            'Ecriture du resultat dans le fichier "Liste.html"
            'Si ce fichier n'existe pas, il sera cree automatiquement
            listStreamWriter = File.AppendText(dirToList & "Liste des fichiers.html")

            'Ecriture chemin complet et nom fichier
            listStreamWriter.Write("<a href=" & "'file:" & initPathFiles & "'" & ">" & initPathFiles & "</a>" & "<br>")
            listStreamWriter.Flush()

            'Fermeture objet
            If Not listStreamWriter Is Nothing Then
                listStreamWriter.Close()
            End If
        Next
End Sub

'Liste des sous-rep & noms de fichiers sous le rep racine
Private Sub listAllDir(ByVal startDir As String)
        Dim dir As String
        Dim files As String
        Dim myStreamWriter As StreamWriter

        For Each dir In Directory.GetDirectories(startDir)
            For Each files In Directory.GetFiles(dir, "*.*")
	'Ecriture du resultat dans le fichier "Liste.html", à la suite (methode Append to text)
                myStreamWriter = File.AppendText(dirToList & "Liste des fichiers.html")

                'Ecriture chemin complet et nom fichier
                myStreamWriter.Write("<a href=" & "'file:" & files & "'" & ">" & files & "</a>" & "<br>")
                myStreamWriter.Flush()

                'Fermeture objet
                If Not myStreamWriter Is Nothing Then
                    myStreamWriter.Close()
                End If
            Next

            'Recherche sous-repertoires - Recursivite
            listAllDir(dir)
        Next
End Sub

Conclusion :


Remplacer la valeur de la constante dirToList par le répertoire ou le lecteur à lister. Attention, il faut mettre un "\" à la fin.
      • BUG ***

Ne gère pas les caractères accentués (si un 'é', un 'à', un 'ü', etc... apparaît dans le chemin ou le nom du fichier, le lien ne fonctionnera pas :o(...)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
30
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
19 avril 2007

Tu peux effectivement créer un bouton sur un formulaire, et faire l'appel aux fonctions sur l'événement Click.

Exemple :

Private Sub cmdListe_Click()
Call listFilesInitPath(dirToList)
Call listAllDir(dirToList)
End Sub
Messages postés
84
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
29 avril 2009

Bonjours, votre source à l'air interressante, mais je suis débutant, et j'aimerais savoir où dois-je placer ce code? Et ce que je dois créer pour placer le code (bouttons, etc.)? Je sais, cette ource datte un peu, mais en éspérant que quelqu'un passe par ici et me réponde. S'il vous plait, soyer indulgent, je ne suis que débutant.

Merci pour toutes réponces fournies.
Messages postés
2
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
11 février 2005

Ne Fonctionne pas avec un lecteur reseau (une partie du chemin introuvable ...)
Je pense que cela vient d'un problème de droit sur des fichiers cachés ....
Messages postés
172
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
10 juin 2004

Bon, ben voila c'est testé ... J'ai récupéré que 3 ou 4 lignes de code mais c'est celles qu'il me fallait : 10/10

++
187
Messages postés
172
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
10 juin 2004

Pile ce que je cherchais ... Ca va m'éviter de fouiller partout ;-)

Merci !
PS : je noterai après avoir essayé ;-)

++
187
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.