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]]] )
$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. |
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é |
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.
#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
#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