Home » Tipps & Tricks » Dateien/Verzeichnisse » Dateioperationen » Dateiattribute ändern

Dateiattribute ändern

Wenn man Dateien, z.B. mit CopyFile von CD auf Festplatte kopiert, kann es sein, dass diese schreibgeschützt sind. Schreibgeschützte Dateien kann man nicht überschreiben. Dazu müssen erst die Attribute geändert werden.
Dies geschieht mit „SetFileAttributes“.

Die Funktion (Boolean) erwartet zwei Parameter: Den Dateinamen und eben den Attribut-Typ.
Folgendes Beispiel löscht sämtliche Attribute der Datei „C:\Autoexec.bat“:

procedure TForm1.Button1Click(Sender: TObject);
begin
  if SetFileAttributes('C:\AutoExec.bat',
                       FILE_ATTRIBUTE_NORMAL) then
    Showmessage('Attribut wurde geändert')
  else
    Showmessage('Attribut wurde nicht geändert');
end;

Es folgt eine Liste möglicher Attributstypen (Aus der Windows SDK):

FILE_ATTRIBUTE_ARCHIVE    Das Archiv-Symbol (a).
FILE_ATTRIBUTE_HIDDEN     Versteckt eine Datei.
FILE_ATTRIBUTE_NORMAL     Keine Attribute
FILE_ATTRIBUTE_OFFLINE    Die Datei wird offline Verfügbar gemacht.
FILE_ATTRIBUTE_READONLY   Read-Only Attribut (Schreibgeschützt).
FILE_ATTRIBUTE_SYSTEM     Systemdateien haben dieses Attribut
FILE_ATTRIBUTE_TEMPORARY  Temporäre Datei. Die Dateien werden
                          gelöscht, wenn die Applikation diese nicht
                          mehr benötigt.