CD-Befehl mit Wildcards für DOS

Der DOS-Befehl zum Wechseln in andere Directories, CD (Change Directory), unterstützt bekanntlich keine Wildcards, wie das z. B. bei COPY möglich ist. Mit CW.DEB haben Sie die Möglichkeit, solche Platzhalter beim Verzeichniswechsel zu verwenden. Die Eingabe »CW \D*« könnte Sie beispielsweise in das Verzeichnis »\DOS« führen – vorausgesetzt natürlich, es existiert. Bemerkenswert an CW ist, daß Sie bei der Verzeichnisangabe auch die »höherliegenden« Verzeichnisse nicht vollständig zu spezifizieren brauchen. Nach der Eingabe von »CW \T*\198?« könnte das Programm daher in das Verzeichnis »\TIPS\1989« überwechseln – ein großer Komfort! Existieren mehrere passende Verzeichnisse, so führt Sie CW jeweils in das erste gefundene.

CW besitzt ein weiteres Merkmal, das ihn gerade für Stapeljobs prädestiniert, aber auch bei jeder anderen Verwendung von großem Nutzen ist. Beinhaltet nämlich die Verzeichnisangabe, die Sie CW beim Aufruf mit auf den Weg geben, eine Laufwerksbezeichnung, so wechselt CW automatisch auf das neue Laufwerk über. Das erspart Ihnen jedesmal, eine Zeile wie »A:« einzugeben. Findet CW das gewünschte Verzeichnis nicht, so quittiert es das mit einer Fehlermeldung. Dabei bleiben das aktuelle Laufwerk und das dort gesetzte Verzeichnis unverändert.

Name: CW.DEB
Funktion: Erlaubt es, beim Verzeichniswechsel Wildcards zu ver-wenden. Wechselt zusätzlich bei Bedarf das Standard-

laufwerk.

Übersetzung: DEBUG <CW.DEB
Prüfsumme: 212F
Anwendung: CW [Lw:]Verzeichnis Verzeichnis: z. B. \T*\198?
Einschränkungen: ./.
A
MOV DX,3CC          ;100
MOV AH,1A           ;103
INT 21              ;105
CLD                 ;107
MOV BP,1B3          ;108
MOV SI,82           ;10B
MOV DI,1CC          ;10E
CMP By[80],2        ;111
JB 18B              ;116
CMP By[SI+1],3A     ;118
JNZ 127             ;11C
CALL 1A7            ;11E
MOV [181],AL        ;121
CALL 1A7            ;124
CMP By[SI],5C       ;127
JNZ 12F             ;12A
CALL 19B            ;12C
MOV BX,DI           ;12F
CALL 19B            ;131
DEC SI              ;134
DEC DI              ;135
MOV By[DI],0        ;136
CMP By[BX],2E       ;139
JZ 169              ;13C
MOV DX,1CC          ;13E
MOV CX,17           ;141
MOV AH,4E           ;144
INT 21              ;146
JB 16E              ;148
MOV AH,4F           ;14A
TEST By[3E1],10     ;14C
JZ 146              ;151
CMP By[3EA],2E      ;153
JZ 146              ;158
PUSH SI             ;15A
MOV DI,BX           ;15B
MOV SI,3EA          ;15D
CALL 1A7            ;160
CMP AL,0            ;163
JNZ 160             ;165
DEC DI              ;167
POP SI              ;168
CMP By[SI],D        ;169
JNZ 12C             ;16C
MOV SI,1BF          ;16E
CALL 18D            ;171
MOV DX,1CC          ;174
MOV AH,3B           ;177
INT 21              ;179
JB 18B              ;17B
MOV BP,1BC          ;17D
MOV DL,0            ;180
SUB DL,41           ;182
JB 18B              ;185
MOV AH,E            ;187
INT 21              ;189
MOV SI,BP           ;18B
INC SI              ;18D
MOV DL,[SI]         ;18E
MOV AH,2            ;190
INT 21              ;192
CMP By[SI+1],0      ;194
JNZ 18D             ;198
RET                 ;19A
CALL 1A7            ;19B
CMP AL,D            ;19E
JZ 1A6              ;1A0
CMP AL,5C           ;1A2
JNZ 19B             ;1A4
RET                 ;1A6
LODSB               ;1A7
CMP AL,61           ;1A8
JB 1B2              ;1AA
CMP AL,7A           ;1AC
JA 1B2              ;1AE
SUB AL,20           ;1B0
STOSB               ;1B2
RET                 ;1B3
DB " =ERROR=",7,D,A,0
DB "Changing to "

RCX
CC
NCW.COM
W
Q

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

Matomo