Compter le nombre de fichiers dans un répertoire


Contenu du snippet

Function CountFilesFromDirectory(ByVal sDir As String, Optional ByVal sFilter As String = "*.*") As Long
Dim Fso As Object
Dim Fi
   
   Set Fso = CreateObject("Scripting.FileSystemObject")
   'Verifie la valeur du filtre
   If sFilter = "*.*" Then
       'retourne directement l'attribut count
       CountFilesFromDirectory = Fso.GetFolder(sDir).Files.Count
   Else
       'si filtre spécial
       For Each Fi In Fso.GetFolder(sDir).Files
           'transformation du filtre pour en ressortir par ex: dll au lieu de *.dll
           sFilter = Right(sFilter, (Len(sFilter) - InStrRev(sFilter, ".")))
           'recuperation de l'extension du fichier
           If Fso.GetExtensionName(Fi.Path) = sFilter Then
               'incrépentation de la valeur a retourner
               CountFilesFromDirectory = CountFilesFromDirectory + 1
           End If
       Next
   End If
   Set Fso = Nothing
   Set Fi = Nothing
   
End Function
Pour rappel
Call MsgBox(CountFilesFromDirectory("C:\WINNT\System32"))
Call MsgBox(CountFilesFromDirectory("C:\WINNT\System32\", "*.dll"))

By Renfield



Compatibilité : VB6

Disponible dans d'autres langages :

A voir également

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.