Von Clustern und Tracks

E-Books


MS-DOS Kurs


3. Zuordnen von Laufwerken und Pfaden

Zur flexiblen Handhabung des Dateisystems gibt es in DOS Kommandos zur Veränderung von Pfaden und Laufwerken. Diese Kommandos werden "alias-Kommandos" genannt. Ab Version 2.0 können beispielsweise mit dem Befehl-ASSIGN die Laufwerksbuchstaben geändert werden. Sie können also das physische Laufwerk A mit einem anderen Buchstaben ansprechen. Damit sollten vor allem die Programme unterstützt werden, die nicht auf einer Festplatte vorbereitet waren. Mit neueren Programmpaketen gibt es kaum Probleme, zumeist sind sie frei konfigurierbar; manchmal wird aber - etwa bei der Installation - ein Laufwerk B verlangt, obwohl keines vorhanden ist, oder die entsprechenden Daten auf der Festplatte (Laufwerk C) stehen. In diesem Falle kann mit ASSIGN dem Laufwerksbuchstaben B das pysische Laufwerk C zugewiesen werden.
assign b=c
Ab jetzt werden alle Zugriffe auf das Laufwerk B zur Festplatte (C) umgeleitet. Die Angabe mehrerer Zuweisungen ist zuläsig:
assign a=c b=c
Vor dem Befehl ASSIGN wird allerdings allgemein gewarnt. Zum einen ist er nicht der modernste Befehl. Er legt sich resident in den Speicher und fängt die DOS-Rufe ab. Das kann zu Kollisionen mit anderen speicherresidenten Programmen führen. Zum anderen können Sie unbewußt Schaden anrichten, da beispielsweise beim Kopieren oder beim Backup die Gefahr des Kopierens auf sich selbst besteht. Einige Programme (FORMAT, XCOPY) ignorieren die Umleitung auch. Aus all diesen Gründen wird empfohlen, die Umleitung nur so lange bestehen zu lassen, wie unbedingt nötig. Mit einer Batch-Datei kann man sichern, daß sie nur für ein Programm gültig ist:
assign b=c
<Programmaufruf>
assign
Durch den letzten Befehl wird die Zuweisung wieder aufgehoben. Programmierer sollten daraus die Lehre ziehen, keine festen Laufwerkseinstellungen in Ihren Programmen zu verwenden, sondern die freie Eingabe zu gestatten. Oder: Verwenden Sie doch einen Eintrag in das Enviroment wie beispielsweise datenlw=B und fragen Sie diesen im Programm ab.
Ab Version 3.10 existiert der Befehl JOIN, mit dem Laufwerke in das Verzeichnis eines anderen Laufwerkes eingehängt werden. Damit können alle physischen Laufwerke als ein großer Verzeichnisbaum angesprochen werden - wie von Unix bekannt. Der Verwendungszweck in DOS liegt vor allem darin, große Verzeichnisstrukturen, die nicht auf einen Datenträger passen sozusagen auszulagern:
join a: c: \prog
Nach diesem Befehl sind alle Daten im Laufwerk A nur noch über den Pfad c:\PROG erreichbar. Das logische Laufwerk A existiert nicht mehr. Eventuelle Unterverzeichnisse auf dem Datenträger in A werden als Unterverzeichnisse von c:\PROG angesehen. Bei Benutzung des JOIN-Befehls ist zu beachten, daß das angegebene Verzeichnis (in diesem Falle PROG) entweder noch nicht existiert (wird dann angelegt) oder leer ist. Die mehrmalige Anwendung des JOIN-Befehls zur Zuordnung mehrerer Laufwerke ist ebenfalls erlaubt. Durch Aufruf von JOIN ohne Parameter werden die aktuellen Zuordnungen angesehen. Das Aufheben von Zuordnungen geschieht für jedes Laufwerk getrennt durch Setzen des Schalters /d (delete). Um die oben angegebene Zuordnung aufzuheben, müßten Sie also schreiben:
join a:/d
Abschließend muß auch bei diesem Befehl darauf hingewiesen werden, daß im Zusammenhang mit anderen DOS-Befehlen, die mit Laufwerken arbeiten, Komplikationen auftreten können. Er ist auch nicht für den Netzbetrieb gedacht, obwohl das naheliegend wäre.
Gerade das Gegenteil von JOIN wird mit dem SUBST-Befehl erreicht. Hier wird ein existierendes Verzeichnis unter einem fiktiven Laufwerksbuchstaben angesprochen. Damit können - wie mit ASSIGN - unflexible Programme, die Daten auf einem festen Laufwerk suchen, bedient werden. Es ist aber auch möglich, eine lange Pfadangabe wie c:\prog\compiler\pascal abzukürzen und beispielsweise nach dem folgenden Befehl als Laufwerk E anzusprechen:
subst e: c:\prog\compiler\pascal
Das Verzeichnis ist aber auch weiterhin über seinen alten Pfad zu erreichen. Als Laufwerksbezeichnungen wählen Sie günstigerweise freie logische Laufwerke jenseits der physisch vorhandenen. Verweigert der SUBST-Befehl das, so müßten Sie sich in der Datei CONFIG.SYS ansehen, welches Laufwerk mit LASTDRIVE als das Letzte eingestellt ist. Der SUBST-Befehl akzeptiert auch physisch vorhandene Laufwerke für eine Belegung mit einem Verzeichnis. Allerdings läßt sich dann der Datenträger in diesem Laufwerk für die Dauer der Redefinition nicht mehr ansprechen. Das Aufheben der oben getroffenen Festlegung wird mit
subst e:/d
erreicht. SUBST ohne Parameter zeigt Ihnen die aktuelle Zuordnung.

(c) Jürgen Richter