Von Clustern und Tracks

E-Books


MS-DOS Kurs


4. Dateiattribute

DOS verwaltet für jede Datei bestimmte Kennzeichnungen, die sogenannten Attribute, mit denen der Umgang mit den Dateien in geringem Umfang gesteuert werden kann. Zu Zeiten von CP/M existierten nur zwei Attribute (Read Only und System), deren Einsatz recht populär war. DOS kennt deren 4, aber eine qualitative Weiterentwicklung (im Sinne der Regelung von Zugriffsrechten, auch im Hinblick auf den Netzbetrieb) hat nicht stattgefunden, und so spielen sie hier nur eine untergeordnete Rolle. Die Dateiattribute sind im Verzeichnis enthalten und bleiben bei Kopiervorgängen im allgemeinen bestehen. Von welchen Befehlen die Dateiattribute berücksichtigt bzw. verändert werden, wird im folgenden beschrieben.
Das gesetzte Read-Only-Attribut verfügt, daß die entsprechende Datei nur gelesen, nicht aber verändert oder gelöscht werden darf. Man spricht deshalb auch von schreibgeschützten Dateien. Auf diese Weise werden Dateien vor unbeabsichtigtem Überschreiben oder Löschen geschützt. DOS stellt zum Ändern der Attribute den externen Befehl-ATTRIB zur Verfügung:
ATTRIB [+R|-R] [+A|-A] [<pfad>] <Dateien> /S
Der Schalter +R bewirkt das Setzen und -R das Entfernen des Schreibschutzes der angegebenen Dateien; Joker sind erlaubt. Der Schalter +A setzt das Archivierungsbit, um einem Backup-Programm anzeigen zu können, daß diese Datei geändert wurde und zu archivieren ist. Der Schalter -A entfernt diese Markierung wieder. Sollen auch Unterverzeichnisse bearbeitet werden, muß ebenfalls der Parameter /S angegeben werden. Sollen beispielsweise alle COM-Dateien auf der Festplatte schreibgeschützt werden, erreicht man dies (aus dem Root-Verzeichnis) mit der folgenden Anweisung:
attrib +r*.com/s
Zum Aufheben des Schreibschutzes für alle TXT-Dateien im aktuellen Verzeichnis, die sonst nicht editiert werden könnten, schreiben Sie:
attrib -r*.txt
Wird dieser Befehl auf Dateien angewendet, die gar keinen Schreibschutz besitzen, so ignoriert DOS den Befehl. Ohne Schalter dient der ATTRIB-Befehl zum Anzeigen der Dateien mit Attributen. Beachten Sie aber bitte, daß stets die Vorgabe einer Dateiengruppe nötig ist. Das Kommando ATTRIB ohne Parameter erzeugt also nur eine Meldung, daß die Anzahl der Parameter nicht stimmt. Zur Anzeige aller Dateien mit Attributen müßte also ATTRIB *.* eingegeben werden.
Wenn es sich um eine große Anzahl von Dateien handelt, ist der MORE-Filter zu empfehlen...
Read-Only-Dateien sind durch ein großes R vor dem Dateinamen gekennzeichnet
. Die meisten Dateien besitzen außerdem noch ein A, womit das Archiv-Attribut gemeint ist. Wird eine schreibgeschützte Datei kopiert, so behält auch die Zieldatei das Dateiattribut. Versuchen Sie, mit DEL zu löschen, erhalten Sie die nicht eben originelle Ausgabe "Zugriff verweigert". Aber Ziel ist es ja vor allem, unbeabsichtiges Löschen (z.Bsp. durch leichtsinnigen Einsatz der Joker beim DEL-Befehl) zu unterbinden. Leider hat der Schreibschutz gegen moderne Dienstprogramme keine Chance. Der Norton-Commander löscht nach Rückfrage auch Read-Only-Dateien ohne Zögern.
Hüten Sie sich davor, Dateien mit Schreibschutz zu versehen, die Sie bearbeiten wollen. Zumeist wird erst beim Abspeichern bemerkt, daß nicht geschrieben werden darf. Sehr ärgerlich, wenn man versucht, einen stundenlang korrigierten Text zu sichern.
Die einzige Rettung kann in so einem Fall nur sein, die ganze Datei als einen Block zu markieren und diesen dann in eine andere Datei zu schreiben.
Mit dem System-Attribut sind Dateien als zum Betriebssystem gehörig gekennzeichnet. Die Dateien des Betriebssystems besitzen keine einheitlichen Namen (Bio.com und Dos.com bei Microsoft, Ibmbios.com und ibmdos bei IBM, bei anderen Herstellern eventuelle noch anders) und so können Programme, die Informationen über die Systemdateien benötigen, diese mit Hilfe des System-Attributs gewinnen. Außerdem zeigt der DIR-Befehl die so markieren Dateien - der Übersicht halber - nicht an.
Dateien, die aus anderen Gründen nicht angezeigt werden sollen (z.Bsp. Overlay-Dateien) können mit dem Attribut Hidden (deutsch: versteckt) versehen werden. Das dient einfach der besseren Übersicht, findet aber heute kaum noch Verwendung, da zumeist mit Dienstprogrammen gearbeitet wird, die sich einfach nicht an diese Konventionen halten und stets alle Dateien anzeigen. DOS stellt keine Systemkommandos zum Setzen und Entfernen des System- und Hidden-Attributs zur Verfügung, so daß ohnehin auf Dienstprogramme zurückgegriffen werden müßte.
PC-Tools besitzt im File-Menü den Menüpunkt Attrib, mit dem sehr einfach alle Datei-Attribute sowie Datum und Zeit der letzten Änderung von Dateien gesetzt werden können. In Programmen besteht die Möglichkeit, Dateiattribute über die DOS-Schnittstelle (BDOS-Funktion 43H) abzufragen und zu ändern. Moderne Compiler unterstützen den Zugriff aber auch durch eingene Erweiterungen. Turbo-Pascal beispielsweise stellt dafür die Prozeduren FAttr und SetAttr in der Unit DOS zur Verfügung.
Bisher nur recht kurz erwähnt wurde das Attribut Archive, das DOS größtenteils selbst verwaltet. Es wird verwendet, um festzustellen, an welchen Dateien Veränderungen vorgenommen wurden. Die Enwickler gingen davon aus, daß alle Dateien regelmäßig gesichert werden. Dabei genügt es, stets nur die Dateien neu zu kopieren, die sich wirklich verändert haben; das Gros der eingesetzten Compiler, Dienst- und Anwendungsprogramme existiert bereits auf Sicherungsdisketten. Deshalb setzt DOS stets beim Speichern einer Datei das Archiv-Attribut, um anzuzeigen, daß diese Datei geändert wurde. Sogar beim kopieren mit COPY geschieht das, obwohl genaugenommen nichts geändert wurde. Die gebräuchlichen Sicherungsprogramme erlauben das Abfragen des Archive-Bits und kopieren dann nur die veränderten Dateien. Blättern Sie dazu bitte noch einmal in den vorderen Seiten unseres Lehrganges (siehe COPY). Der XCOPY-Befehl gestattet es, mit den Schaltern /a und /m, nur die seit dem letzten Sichern geänderten Dateien zu kopieren. Mit /m wird außerdem das Archiv-Attribut wieder zurückgesetzt, was für die nächste Sicherungsaktion von Bedeutung ist. Für den BACKUP-Befehl kann /m in gleicher Weise verwendet werden, der Schalter /a bewirkt hier ab das "Anhängen" an bereits bestehende Sicherungsdateien (BACKUP überschreibt sonst die letzte Sicherungskopie). Sollen nur die geänderten Dateien mit Backup an bereits bestehende Sicherungkopien angehängt werden, so müssen /m und /a verwendet werden.

(c) Jürgen Richter