Afficher la liste de tous les fichiers d'un répertoire et de ses sous répertoires


Il est facile d'accéder à tous les fichiers et sous-répertoires d'un répertoire en utilisant l'objet folder de Scripting.FileSystemObject, et ses sous-objets files et subfolders.

L'étape un peu plus délicate est la conception d'une boucle qui balaie tous les fichiers contenus dans le répertoire, mais aussi dans ses sous-répertoires, ses sous-sous-répertoires, ses sous-sous-sous-répertoires... quel que soit le nombre de niveaux.

Les deux scripts proposés parcourent l'arborescence des fichiers de façon différente, le premier niveau par niveau, le second en respectant l'organisation des répertoires.



La première solution proposée consiste à explorer le répertoire niveau par niveau, en faisant à chaque niveau, d'une part la liste de tous les fichiers dans un fichier texte, et d'autre part la liste de tous les répertoires dans un tableau.

Une fois le niveau n explorée, on passe au niveau suivant en recherchant tous les sous-répertoires et fichiers contenus dans les répertoires dont les adresses sont stockées dans notre tableau, et en inscrivant les fichiers dans le fichier texte et les répertoires dans un nouveau tableau.

Il suffit alors de continuer sur les niveaux suivants jusqu'à ce qu'il n'y ait plus de sous-répertoire.


Cliquez ici pour accéder au Script vbs
Cliquez ici pour accéder au texte du script
Cliquez ici pour accéder au Script zippé



Le second script est basé sur l'utilisation d'un sub qui inscrit dans un tableau le chemin d'accès des sous-répertoires et se relance lui-même pour traiter chacun des sous-répertoires (procédure récursive)...
Une fois tous les sous-répertoires, tous les sous-sous-répertoires, tous les sous-sous-sous-répertoires... inscrits dans le tableau, le script les affiche dans une page html.

cliquez ici pour lancer le script.
cliquez ici pour voir le code (fichier txt).