Functions > FileDirDisk >


FileGetAttrib

Obtient les attributs d'un fichier.

FileGetAttrib ( "filename" )

Param�tre

filename Nom complet du fichier (ou du r�pertoire) � traiter.

Valeur de retour

Succ�s: Retourne une cha�ne de code repr�sentant les attributs d'un fichier.
�chec: Retourne "" (cha�ne vide) et @error = 1.

Remarque

La cha�ne de code retourn�e peut contenir une combinaison de ces lettres "RASHNDOCTX":
    "R" = READONLY (Lecture seule)
    "A" = ARCHIVE (Archive)
    "S" = SYSTEME (Syst�me)
    "H" = HIDDEN (Cach�)
    "N" = NORMAL (Normal)
    "D" = DIRECTORY (R�pertoire)
    "O" = OFFLINE (Hors ligne)
    "C" = COMPRESSED (compression NTFS, pas ZIP)
    "T" = TEMPORARY (Temporaire)
    "X" = EFS ENCRYPTION (Compression EFS)

En relation

FileExists, FileGetSize, FileGetTime, FileSetAttrib, FileSetTime

Exemples

Exemple 1

#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


Exemple 2

#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


Exemple 3

#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