Compter les fichiers d'un certain type dans un répertoire (VBS)


Pour compter des fichiers en VBScript, on peut utiliser le FileSystemObject et toutes les propriétés de Folder (répertoire) et de File (fichier).
Mais l'opération s'avère longue quand on veut explorer completement un répertoire avec tous ses sous-répertoire.
Le DOS fait cela très bien avec la commande Dir.
En combinant VBScript et DOS, on obtient un produit très rapide pour quelques lignes de code :

Set sh = WScript.CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.FileSystemObject")

'lancer la commande dir
sh.Run "%comspec% /c dir ""c:\mes documents\*.html"" /s > c:\rien.txt",0,true

'lire le fichier texte, ne conserver que les dernières lignes
Set fich = fs.OpenTextFile("C:\rien.txt", 1, false)
txt=""
lin1=fich.readline
lin2=fich.readline
do while not fich.atendofstream
lin1=lin2
lin2=fich.readline
loop
msgbox lin1
fich.close


La commande DOS envoie dans le fichier texte rien.txt (créé spécialement pour l'occasion) la liste des fichiers html du répertoire c:\mes documents (noter les doubles guillemets rendus nécessaires par la présence d'un espace dans le chemin d'accès au répertoire).
L'avant-dernière ligne indique le nombre de fichiers trouvés.

Les lignes qui suivent servent à lire le fichier texte ligne par ligne (en gardant en mémoire dans la variable lin1 l'avant-dernière ligne). En fin de lecture, lin1 contient le nombre de fichiers.

En ajoutant quelques lignes, on peut laisser à l'utilisateur le choix du type de fichiers et du répertoire, puis supprimer en fin d'opération le fichier rien.txt qui n'est plus utile :

cliquez ici pour voir le texte complet du script
cliquez ici pour télécharger le script (zippé)
cliquez ici pour ouvrir le script.


En sophistiquant encore un peu, on peut tenir compte des dates de création des fichiers et rechercher la répartition des fichiers d'un certain type par tranches de dates :

cliquez ici pour voir le texte complet du script
cliquez ici pour télécharger le script (zippé)
cliquez ici pour ouvrir le script.


On peut même en faire une sortie sous forme d'histogramme :

cliquez ici pour voir le texte complet du script
cliquez ici pour ouvrir le script.