ExamineDirectory()

Syntaxe

Resultat = ExamineDirectory(#Repertoire, NomRepertoire$, Filtre$)
Description
Examine un répertoire et crée une liste qui peut être ensuite parcourue avec les fonctions NextDirectoryEntry() et DirectoryEntryName().

Arguments

#Repertoire Le numéro qui identifie le listing de fichier.

#PB_Any peut être utilisé pour générer automatiquement ce numéro.
NomRepertoire$ Le dossier à examiner.
Filtre$ Permet de sélectionner quels types de fichiers doivent être retenus.
Par exemple, un 'Filtre$' "*.*" ou "" retiendra tous les fichiers (et sous-dossiers) du répertoire, "*.exe" ne retient que les fichiers dont l'extension est .exe (ou les sous-dossiers se terminant par .exe).

Veuillez noter le comportement spécifique de MS Windows quand vous utilisez une extension de nom de fichier à 3 caractères car les extensions plus longues seront prises en compte aussi. Par exemple, le filtre "*.log" trouvera aussi les fichiers "*.log*" comme le fichier "test.log_1".

Valeur de retour

Renvoie une valeur non nulle si l'opération a réussi, zéro sinon.

Si #PB_Any est utilisé pour le paramètre '#Repertoire', le numéro du nouveau répertoire sera renvoyé dans 'Resultat'.

Remarques

Une fois que l'examen du répertoire est terminé, la commande FinishDirectory() doit être appelée pour libérer toutes les ressources associées à ce listing.

Des caractères de séparation de chemin d'accès aux fichiers spécifiques aux systèmes d'exploitation sont disponibles: #PS, #NPS, #PS$ ('\') et #NPS$ ('/').

Exemple

  Repertoire$ = GetHomeDirectory()  ; Liste tous les fichiers et les dossiers du répertoire racine de l'utilisateur qui est actuellement logué (Home)
  If ExamineDirectory(0, Repertoire$, "*.*")  
    While NextDirectoryEntry(0)
      If DirectoryEntryType(0) = #PB_DirectoryEntry_File
        Type$ = " [Fichier] "
        Taille$ = " (Taille : " + DirectoryEntrySize(0) + ")"
      Else
        Type$ = " [Dossier] "
        Taille$ = "" ; Un Dossier n'a pas de taille
      EndIf
      
      Debug Type$ + DirectoryEntryName(0) + Taille$
    Wend
    FinishDirectory(0)
  EndIf

Voir aussi

FinishDirectory(), NextDirectoryEntry(), DirectoryEntryType(), DirectoryEntryName(), DirectoryEntrySize(), DirectoryEntryAttributes(), DirectoryEntryDate()

OS Supportés

Tous

<- DirectoryEntryType() - FileSystem Index - FileSize() ->