UDF > File >


_FileListToArray

Obtient, dans un tableau, les fichiers et/ou les sous-répertoires d'un répertoire (similaire à la commande Dir /B)

#include <File.au3>
_FileListToArray ( $sFilePath [, $sFilter = "*" [, $iFlag = $FLTA_FILESFOLDERS [, $bReturnPath = False]]] )

Paramètres

$sFilePath Répertoire où se trouvent les éléments à récupérer.
$sFilter [optionnel] Le filtre à utiliser, par défaut, *. (Les Jokers * et ? sont acceptés - Voir Remarques)
$iFlag [optionnel] Indique s'il faut retourner les fichiers ou les répertoires ou les deux
    $FLTA_FILESFOLDERS (0) = (par défaut) Retourne les fichiers et les répertoires
    $FLTA_FILES (1) = Retourne uniquement les fichiers
    $FLTA_FOLDERS (2) = Retourne uniquement les sous-répertoires
    Les constantes sont définies dans FileConstants.au3
$bReturnPath [optionnel] Si True, le chemin complet précède le nom du fichier ou du sous-répertoire, sinon il est relatif au dossier $sFilePath. Par défaut, False.

Valeur de retour

Succès: Retourne un tableau de dimension 1.
    $aArray[0] = Nombre de Fichiers/Répertoires retournés
    $aArray[1] = 1er Fichier/Répertoire
    $aArray[2] = 2e Fichier/Répertoire
    $aArray[3] = 3e Fichier/Répertoire
    $aArray[n] = n-ième Fichier/Répertoire
Échec: Définit @error <> 0.
@error: 1 - Répertoire introuvable ou invalide
2 - $sFilter invalide
3 - $iFlag invalide
4 - Aucun fichier trouvé

Remarques

Cette fonction utilise le système d'exploitation Windows pour retourner les sous-dossiers correspondant au filtre spécifié. Cela fonctionne parfaitement pour des filtres simples, l'utilisation de filtre complexe avec plusieurs caractères génériques peuvent retourner des résultats inattendus (par exemple *test*.* trouvera à la fois testX et le sous-répertoire testX.X ). Si cela se produit, la fonction _FileListToArrayRec() pourrait être mieux, car elle compare tous les sous-répertoires pour le filtre spécifié en utilisant une expression régulière, bien que le temps pris pour exécuter la fonction risque d'être sensiblement plus important.

Voir FileFindFirstFile() pour des détails sur les caractères génériques.

En relation

_FileListToArrayRec

Exemples

Exemple 1

#include <Array.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Liste tous les fichiers et sous-répertoires du dossier bureau en utilisant les paramètres par défaut.
    Local $aFileList = _FileListToArray(@DesktopDir, "*")
    If @error = 1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Le chemin était incorrect.")
        Exit
    EndIf
    If @error = 4 Then
        MsgBox($MB_SYSTEMMODAL, "", "Aucun fichier trouvé.")
        Exit
    EndIf
    ; Affiche les résultats retournés par _FileListToArray.
    _ArrayDisplay($aFileList, "$aFileList")
EndFunc   ;==>Example


Exemple 2

#include <Array.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Liste tous les fichiers et sous-répertoires du dossier bureau en utilisant les paramètres par défaut et retourne le chemin complet.
    Local $aFileList = _FileListToArray(@DesktopDir, Default, Default, True)
    If @error = 1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Le chemin était incorrect.")
        Exit
    EndIf
    If @error = 4 Then
        MsgBox($MB_SYSTEMMODAL, "", "Aucun fichier trouvé.")
        Exit
    EndIf
    ; Afficher les résultats retournés par _FileListToArray.
    _ArrayDisplay($aFileList, "$aFileList")
EndFunc   ;==>Example