Befehle unter MS-DOS 5.0

E-Books


EXPAND Expandieren einer komprimierten Datei



Der neue MS-Dos Befehl EXPAND - ab Version 5.0
Anwendung: Expandiert komprimierte MS-DOS-Dateien, die sich auf Installations- oder Update-Disketten befinden.
Syntax: expand [pfad]datei[[pfad]datei[...]]ziel
Parameter: Pfad Definiert das Laufwerk und das Verzeichnis, in dem die zu expandierende Datei zu finden ist. Befindet sich das Verzeichnis auf dem aktuellen Laufwerk, muß dieses nicht angegeben werden.
Datei Gibt den Namen der zu expandierenden Datei an. Es können mit einem Aufruf mehrere Dateien expandiert werden, die allerdings getrennt angegeben werden müssen. Die Dateigruppenbezeichner * und ? sind für diesen Parameter nicht erlaubt.
Ziel Definiert das Ziel für die expandierte Datei. Dieser Parameter kann aus Laufwerk, Pfad und Dateinamen gebildet werden.
Sind mehrere Quelldateien definiert, muß ein neues Verzeichnis bestimmt werden, in dem alle expandierten Dateien mit dem gleichen Namen wie die Quelldateien abgelegt werden.
Wichtiger Hinweis:
Beachten Sie im Zusammenhang mit der Zielangabe und der Expandierung mehrerer Dateien mit einem Aufruf die Ausführungen die später in diesem Kapitel folgen.
Beschreibung: Um Diskettenplatz zu sparen, befinden sich unter MS-DOS 5.0 viele Dateien in komprimierter Form auf der Installationsdiskette. Durch das Programm SETUP werden diese Dateien während der Installation entpackt, d.h sie werden in ihren ursprünglichen Zustand zurückversetzt (dekomprimiert).
Die komprimierten Dateien von MS-DOS 5.0 kann man daran erkennen, daß die Erweiterung mit einem Unterstreichungszeichen endet. Z.Bsp. wird die komprimierte Form von DEBUG.EXE mit DEBUG.EX_ bezeichnet.
Verwendung von EXPAND: Da alle MS-DOS-Dateien während der Installation automatisch entpackt werden, sollten Sie eigentlich den Befehl EXPAND nie benötigen. In den folgenden Fällen ist der Einsatz dieses Befehls aber erforderlich:
* MS-DOS-Dateien auf der Festplatte wurden aus Versehen gelöscht. Anstatt das gesamte System neu zu installieren, können diese Dateien von den Originaldisketten expandiert werden
* Über Update-Disketten können in Zukunft neue MS-DOS-Dateien ausgeliefert werden, die einzeln entpackt und auf die Festplatte übertragen werden können.
In dem folgenden Beispiel wollen wir die Datei DEBUG.EX_ expandieren. Wir folgen dabei genau den Anweisungen der Micosoft-Dokumentation im Handbuch für MS-DOS 5.0, in der angegeben ist, daß ein Ziel definiert werden muß, das entsprechend unserer Beschreibung aufgebaut sein kann.
Wir versuchen die Datei DEBUG.EX_ zu expandieren und die Ergebnisdatei in dem gleichen Verzeichnis abzulegen. Im Handbuch für MS-DOS 5.0 wird kein Hinweis darauf gegeben, daß in der Zielangabe der Name der expandierten Datei angegeben werden muß.
In dem folgenden Kasten können Sie sehen, daß wir EXPAND mit dem aktuellen Verzeichnis als Zielangabe aufrufen, in der Annahme, daß der Name der Zieldatei automatisch auf DEBUG.EXE gesetzt wird.
Zu unserem Erstaunen müssen wir feststellen, daß eine unsinnige Nachricht ausgegeben wird - die Datei sei bereits expandiert - und, was noch wesentlich schlimmer ist, daß die Dateigröße auf 0 gesetzt wird - die Datei ist verloren.
C:\TEST: dir
Datenträger in Laufwerk C hat keine Datenträgerbezeichnung
Datenträgernummer: 16F2-8C7C
Verzeichnis von C:\TEST
. <DIR> 09.10.91 20:43
.. <DIR> 09.10.91 20:43
DEBUG EX_ 17151 11.06.91 12:00
3 Datei(en) 17151 Byte
1914880 Byte frei
C:\TEST: expand debug.ex_ c:\test
Eingabedatei 'debug.ex_' ist bereits in expandiertem Format.
C:\TEST: dir
Datenträger in Laufwerk C hat keine Datenträgerbezeichnung
Datenträgernummer: 16F2-8C7C
Verzeichnis von C:\TEST
. <DIR> 09.10.91 20:43
.. <DIR> 09.10.91 20:43
DEBUG EX_ 0 11.06.91 12:00
3 Datei(en) 0 Byte
1944412 Byte frei
C:\TEST
In einem weiteren Versuch haben wir den Namen der Zieldatei angegeben:
expand debug.ex_ debug.exe
Diesmal waren wir erfolgreich. Die Datei wurde tatsächlich expandiert (siehe nächster Kasten).
Wir sind auf diese Problematik gestoßen, da wir Ihnen zeigen wollten, welchen Größenunterschied das Komprimieren einer Datei ausmacht. In unserem letzten Versuch sehen Sie das Verhältnis zwischen der gepackten und der entpackten Datei.
C:\TEST: expand debug.ex_ debug.exe
Datenträger in Laufwerk C hat keine Datenträgerbezeichnung
Datenträgernummer: 16F2-8C7C
Verzeichnis von C:\TEST
. <DIR> 09.10.91 20:43
.. <DIR> 09.10.91 20:43
DEBUG EX_ 17151 11.06.91 12:00
DEBUG EXE 21226 11.06.91 12:00
3 Datei(en) 38377 Byte
1892352 Byte frei
C:\TEST
Sollen mit einem Aufruf mehrere Dateien expandiert werden, darf in ziel kein Dateiname angegeben werden.
Daraus folgt, daß EXPAND Zieldateien mit dem gleichen Namen wie die Quelldateien erzeugt. Daher muß in der Zielangabe unbedingt ein anderes als das Quellverzeichnis angegeben werden, in dem alle expandierten Dateien abgelegt werden sollen.
Wird im Paraneter ziel das Verzeichnis angegeben, in dem die Ausgangsdateien liegen, werden alle angegebenen Dateien auf 0 zurückgesetzt, d.h. ihr Inhalt geht verloren.
(c) Jürgen Richter