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.