Gibt einen String zurück, der die Attribute einer Datei repräsentiert.
FileGetAttrib ( "filename" )
filename | Der Pfad zur zu untersuchenden Datei bzw. zum zu untersuchenden Verzeichnis |
Erfolg: | Ein String, der die Attribute einer Datei repräsentiert. |
Fehler: | Ein leerer String. Setzt @error auf 1. |
Der zurückgegebene String kann eine Kombination der Buchstaben "RASHNDOCTX" sein:
"R" = Schreibgeschützt (READONLY)
"A" = Archiv (ARCHIVE)
"S" = System (SYSTEM)
"H" = Versteckt (HIDDEN)
"N" = Normal (NORMAL)
"D" = Verzeichnis (DIRECTORY)
"O" = Offline (OFFLINE)
"C" = Komprimiert (NTFS-, nicht ZIP-Kompression, COMPRESSED
"T" = Temporär (TEMPORARY)
"X" = EFS Verschlüsselung
FileExists, FileGetSize, FileGetTime, FileSetAttrib, FileSetTime
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
Example()
Func Example()
; Erstellt eine Konstante im lokalen Bereich um die Dateigenschaften des aktuellen Skripts zu speichern.
Local Const $sAttribute = FileGetAttrib(@ScriptFullPath)
; Zeigt den String der durch FileGetAttrib zurückgegeben wurde.
MsgBox($MB_SYSTEMMODAL, "", "Die Attribute des Strings: " & @CRLF & $sAttribute)
; Zeigt den String der durch AttributeToString zurückgegeben wurde.
MsgBox($MB_SYSTEMMODAL, "", "Die Attribute des String mit leichter zu verstehenden Werten: " & @CRLF & _
AttributeToString($sAttribute))
EndFunc ;==>Example
Func AttributeToString($sAttribute)
; Erstellt ein 1D Array, das die Buchstaben der Dateiattribute enthält. Dabei wird der String beim Komma getrennt.
Local $aInput = StringSplit("R,A,S,H,N,D,O,C,T", ",")
; Erstellt ein 1D Array, das die Dateiattributsbezeichnungen enthält. Dabei wird der String beim Komma getrennt.
Local $aOutput = StringSplit("Read-only /, Archive /, System /, Hidden /" & _
", Normal /, Directory /, Offline /, Compressed /, Temporary /", ",")
; Ersetzt innerhalb der Schleife die Buchstaben der Dateiattribute durch die Dateiattributsbezeichnungen, z.B. A wird durch Archive oder S durch System ersetzt.
For $i = 1 To $aInput[0]
$sAttribute = StringReplace($sAttribute, $aInput[$i], $aOutput[$i], 0, $STR_CASESENSE)
Next
; Entfernt das einfache Leerzeichen und den angehängten Slash.
$sAttribute = StringTrimRight($sAttribute, 2)
; Gibt die konvertierten Dateiattributsbuchstaben aus.
Return $sAttribute
EndFunc ;==>AttributeToString
#include <MsgBoxConstants.au3>
Example()
Func Example()
; Weist einer Variable den Dateipfad zu, um zu prüfen, ob dieser eine Datei ist.
Local $sFilePath = @ScriptFullPath
If IsFile($sFilePath) Then
MsgBox($MB_SYSTEMMODAL, "", "Der Dateipfad ist eine Datei.")
Else
MsgBox($MB_SYSTEMMODAL, "", "Der Dateipfad ist keine Datei.")
EndIf
EndFunc ;==>Example
; Prüft, ob der Dateipfad eine Datei ist. Prüft nicht, ob die Datei existiert.
Func IsFile($sFilePath)
Return StringInStr(FileGetAttrib($sFilePath), "D") = 0
EndFunc ;==>IsFile
#include <MsgBoxConstants.au3>
Example()
Func Example()
; Weist einer Variable den Dateipfad zu, um zu prüfen, ob dieser ein Ordner ist.
Local $sFilePath = @ScriptDir
If IsDir($sFilePath) Then
MsgBox($MB_SYSTEMMODAL, "", "Der Dateipfad ist ein Ordner.")
Else
MsgBox($MB_SYSTEMMODAL, "", "Der Dateipfad ist kein Ordner.")
EndIf
EndFunc ;==>Example
; Prüft, ob der Dateipfad ein Ordner ist. Prüft nicht, ob der Ordner existiert.
Func IsDir($sFilePath)
Return StringInStr(FileGetAttrib($sFilePath), "D") > 0
EndFunc ;==>IsDir