GetFileAttributes()
Syntaxe
Resultat = GetFileAttributes(NomFichier$)Description
Renvoie les attributs d'un fichier.
Arguments
NomFichier$ Le fichier à tester.
Cela peut également être le nom d'un répertoire.
Valeur de retour
Renvoie les attributs du fichier.
Si le fichier n'existe pas ou si les attributs du fichier ne peuvent être lus, la commande renvoie -1.
Sur Windows, les attributs sont une combinaison des valeurs suivantes:#PB_FileSystem_Hidden : Fichier caché. #PB_FileSystem_Archive : Fichier inchangé et archivé depuis le dernier test. #PB_FileSystem_Compressed: Fichier compressé. #PB_FileSystem_Normal : Fichier normal. #PB_FileSystem_ReadOnly : Fichier en lecture seule. #PB_FileSystem_System : Fichier système.Sur Linux ou MacOSX, les attributs sont une combinaison des valeurs suivantes:#PB_FileSystem_Link : Le fichier est un lien symbolique #PB_FileSystem_ReadUser : Permission d'accès en lecture pour le propriétaire #PB_FileSystem_WriteUser : Permission d'accès en écriture pour le propriétaire #PB_FileSystem_ExecUser : Permission d'accès en exécution pour le propriétaire #PB_FileSystem_ReadGroup : Permission d'accès en lecture pour les membres du groupe propriétaire #PB_FileSystem_WriteGroup: Permission d'accès en écriture pour les membres du groupe propriétaire #PB_FileSystem_ExecGroup : Permission d'accès en exécution pour les membres du groupe propriétaire #PB_FileSystem_ReadAll : Permission d'accès en lecture pour les autres utilisateurs #PB_FileSystem_WriteAll : Permission d'accès en écriture pour les autres utilisateurs #PB_FileSystem_ExecAll : Permission d'accès en exécution pour les autres utilisateurs
Remarques
Pour vérifier si un attribut est présent, il suffit d'utiliser l'operateur '&' (And):Attributs = GetFileAttributes("C:\Text.txt") If Attributs & #PB_FileSystem_Hidden Debug "Fichier caché !" EndIf
Exemple
Attributs = GetFileAttributes("c:\autoexec.bat") If Attributs = -1 Debug "Erreur à la lecture des attributs du fichier!" Else If Attributs & #PB_FileSystem_Hidden : texte$ + "H" : Else : texte$+"-" : EndIf If Attributs & #PB_FileSystem_Archive : texte$ + "A" : Else : texte$+"-" : EndIf If Attributs & #PB_FileSystem_Compressed : texte$ + "C" : Else : texte$+"-" : EndIf If Attributs & #PB_FileSystem_Normal : texte$ + "N" : Else : texte$+"-" : EndIf If Attributs & #PB_FileSystem_ReadOnly : texte$ + "R" : Else : texte$+"-" : EndIf If Attributs & #PB_FileSystem_System : texte$ + "S" : Else : texte$+"-" : EndIf Debug texte$ EndIf
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) + ")" Attributs = GetFileAttributes(DirectoryEntryName(0)) If Attributs & #PB_FileSystem_System Debug "Attribut : Système" EndIf Else Type$ = " [Dossier] " Taille$ = "" ; Un Dossier n'a pas de taille Attributs = DirectoryEntryAttributes(0) If Attributs & #PB_FileSystem_System Debug "Attribut : Système" EndIf EndIf Debug Type$ + DirectoryEntryName(0) + Taille$ Wend FinishDirectory(0) EndIf
Voir aussi
SetFileAttributes(), DirectoryEntryAttributes()
OS Supportés
Tous