Obtient les attributs d'un fichier.
FileGetAttrib ( "filename" )
filename | Nom complet du fichier (ou du répertoire) à traiter. |
Succès: | Retourne une chaîne de code représentant les attributs d'un fichier. |
Échec: | Retourne "" (chaîne vide) et @error = 1. |
FileExists, FileGetSize, FileGetTime, FileSetAttrib, FileSetTime
#include <MsgBoxConstants.au3> #include <StringConstants.au3> Example() Func Example() ; Crée une constante locale pour stocker les attributs de fichier du script en cours. Local Const $sAttribute = FileGetAttrib(@ScriptFullPath) ; Affiche la chaîne retournée par FileGetAttrib. MsgBox($MB_SYSTEMMODAL, "", "La chaîne des attributs: " & @CRLF & $sAttribute) ; Affiche la chaîne retournée par AttributeToString MsgBox($MB_SYSTEMMODAL, "", "La chaîne des attributs avec des valeurs faciles à comprendre: " & @CRLF & _ AttributeToString($sAttribute)) EndFunc ;==>Example Func AttributeToString($sAttribute) ; Crée un tableau 1D avec des lettres d'attribut de fichier en divisant la chaîne à la virgule (,). Local $aInput = StringSplit("R,A,S,H,N,D,O,C,T", ",") ; Crée un tableau 1D en utilisant les noms des attributs de fichier plus compréhensibles en divisant la chaîne à la virgule (,). Local $aOutput = StringSplit("Read-only /, Archive /, System /, Hidden /" & _ ", Normal /, Directory /, Offline /, Compressed /, Temporary /", ",") ; Boucle dans le tableau des lettres d'attribut pour les remplacer par des valeurs plus conviviales, par exemple A devient Archive ou S devient Système. For $i = 1 To $aInput[0] $sAttribute = StringReplace($sAttribute, $aInput[$i], $aOutput[$i], 0, $STR_CASESENSE) Next ; Supprime l'espace et la barre oblique de fin. $sAttribute = StringTrimRight($sAttribute, 2) ; Retourne une chaîne d'attribut. Return $sAttribute EndFunc ;==>AttributeToString
#include <MsgBoxConstants.au3> Example() Func Example() ; Assigne une variable avec le chemin du fichier pour vérifier si c'est un fichier ou non. Local $sFilePath = @ScriptFullPath If IsFile($sFilePath) Then MsgBox($MB_SYSTEMMODAL, "", "The filepath is a file.") Else MsgBox($MB_SYSTEMMODAL, "", "The filepath is not a file.") EndIf EndFunc ;==>Example ;Vérifiez si le chemin du fichier est un fichier. Ne pas vérifier si le fichier existe. Func IsFile($sFilePath) Return StringInStr(FileGetAttrib($sFilePath), "D") = 0 EndFunc ;==>IsFile
#include <MsgBoxConstants.au3> Example() Func Example() ; Assigne une variable avec le chemin du script pour vérifier si c'est un répertoire ou pas. Local $sFilePath = @ScriptDir If IsDir($sFilePath) Then MsgBox($MB_SYSTEMMODAL, "", "Le chemin est un répertoire.") Else MsgBox($MB_SYSTEMMODAL, "", "Le chemin n'est pas un répertoire.") EndIf EndFunc ;==>Example ; Vérifie si le chemin est un répertoire. Func IsDir($sFilePath) Return (StringInStr(FileGetAttrib($sFilePath), "D") > 0) EndFunc ;==>IsDir