Dateiattribute in DOS verändern

Der externe DOS-Befehl »ATTRIB« zur Ermittlung und Veränderung des Attributes einer Datei hat einen kleinen Nachteil: Er unterstützt weder das Attribut H (Hidden) noch S (System). Mit unserem ATTR.DEB stehen Ihnen sämtliche Attribute zur Verfügung – R (Read Only), H, S, und A (Archive). Ein großer Buchstabe vor der angegebenen Datei aktiviert das entsprechende Attribut, ein kleiner disaktiviert es wieder. Nicht verwendete Attribute bleiben unverändert. Die Eingabe »ATTR H ATTR.DEB« versteckt z. B. ATTR.DEB und macht das Programm für den DIR-Befehl unsichtbar. »ATTR h ATTR.DEB« macht die Tarnung wieder rückgängig. Sie können auch mehrere Attribut-Bits einer Datei auf einmal ändern, indem Sie die entsprechenden Buchstaben aneinanderreihen, z.B. mit »ATTR RHS ATTR.DEB«. Dabei dürfen sich aber keine Leerzeichen zwischen den einzelnen Buchstaben befinden.

Mit ATTR können Sie aber auch ganze Verzeichnisse verstecken. Geben Sie z.B: »ATTR H C:\DOS« ein, um das Verzeichnis C:\DOS im Inhaltsverzeichnis unsichtbar zu machen. Natürlich ist es möglich, die Dateien dieses Verzeichnisses auch weiterhin anzusprechen oder in das Verzeichnis zu wechseln, aber für Nicht-Eingeweihte stellt diese Methode ein passabler Schutz vor unerlaubtem Zugriff dar. Wer käme schließlich auf die Idee, eine Datei in einem Verzeichnis zu suchen, das laut »DIR«-Befehl gar nicht existiert? Wenn Sie sich sämtliche Attribute einer oder mehrerer Dateien anzeigen lassen wollen, können Sie dafür unser Programm VIEWATTR.DEB verwenden.

Name: ATTR.DEB
Funktion: Ändert das Attribut einer Datei oder eines Verzeichnisses
Übersetzung: DEBUG <ATTR.DEB
Prüfsumme: 192B
Anwendung: ATTR CHR DateiCHR = Folge aus einem oder mehreren der Attribute R, r, H, h, S, s, A, oder a R r = Read Only H h = Hidden S s = System A a = Archive Großbuchstabe = Attribut setzen Kleinbuchstabe = Attribut löschen

Datei = beliebige Datei oder Verzeichnis

Einschränkungen: Es können keine Wildcards verwendet werden.
A
MOV BX,[80]         ;100
MOV By[BX+E081],0   ;104
XOR BX,BX           ;109
CLD                 ;10B
MOV SI,82           ;10C
LODSB               ;10F
MOV AH,AL           ;110
OR AL,20            ;112
MOV DI,14A          ;114
MOV CX,4            ;117
REPNZ SCASB         ;11A
JNZ 12B             ;11C
OR BL,[DI+3]        ;11E
TEST AH,20          ;121
JNZ 10F             ;124
OR BH,[DI+3]        ;126
JMP 10F             ;129
XOR BL,EF           ;12B
MOV DX,SI           ;12E
MOV AX,4300         ;130
INT 21              ;133
JB 142              ;135
AND CL,BL           ;137
OR CL,BH            ;139
MOV AX,4301         ;13B
INT 21              ;13E
JNB 149             ;140
MOV DX,152          ;142
MOV AH,9            ;145
INT 21              ;147
RET                 ;149
DB "rhsa",1,2,4,20
DB "Error$"

RCX
58
NATTR.COM
W
Q

Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot