Wir richten uns ein

E-Books


MS-DOS Kurs


1. Interne und externe Kommandos

Nachdem wir uns mit den wichtigsten Kommandos in MS-DOS beschäftigt haben, wollen wir nun einen Schritt weiter gehen. DOS unterscheidet hierbei zwischen internen und externen Kommandos. Als intern werden alle diejenigen Befehle bezeichnet, die vom Kommandointerpreter COMMAND.COM ausgeführt werden können (wir hatten beim Programm ERAQ darauf schon hingewiesen). Es bedarf keiner zusätzlichen Programme auf der Diskette, denn sie befinden sich im Speicher. Alle besprochenen Befehle (außer ERAQ) gehörten dieser Gruppe an. Soll dagegen ein externes Kommando ausgeführt werden, so kann es schon einmal zu folgender Ausschrift kommen:

Falscher Befehl oder Dateiname

Wir haben schon beim Programm ERAQ auf diesen Ausgabefehler hingewiesen. Diese Fehlermeldung tritt dann auf, wenn die entsprechende Programmdatei nicht auf der Diskette (oder Festplatte) vorhanden ist, denn jedes externe Kommando steckt in einer eigenen Datei vom Typ COM (selten EXE - Beispiel ERAQ).
Warum diese Einteilung in interne und externe Kommandos ? Nun, die wichtigsten und am häufigsten verwendeten Befehle sollen stets zur Verfühgung stehen, andererseits würden aber komplexe Kommandos zu viel Platz im Speicher einnehmen - zumal, wenn sie nur selten benötigt werden. Die Anzahl externer Kommandos hat sich von Version zu Version vergrößert, bzw. die alten wurden erweitert. Oftmals hilft also nur ein Blick ins Handbuch um festzustellen, ob ein bestimmter Befehl bei dieser Version bereits unterstützt wird. Auch ist Vorsicht beim Austausch der DOS-Systemkommandos geboten. Die Mehrzahl läuft nur unter der dazugehörigen Betriebssystemversion. Das gilt auch für die Kommandointerpreter. Viele DOS-Kommandos haben durch das Auftauchen komfortabler Dienstprogramme ihre Bedeutung verloren, manche müssen sich der Konkurrenz moderner Ausführungen erwehren (z.Bsp. der Debugger DEBUG) und eines gehört mit Sicherheit ins Museum: der Kommandozeileneditor EDLIN.
Zwei wertvolle Kommandos wollen wir uns näher ansehen: XCOPY ist ein erweiterter Kopierbefehl, der ab DOS-Version 3.20 zur Verfühgung steht. Die Ausgabe von Quelle- und Zieldateien erfolgt wie bei COPY.
Beispiele:
xcopy *.txt a:/p Kopieren aller Textdateien aus dem aktuellen Verzeichnis nach a: mit Abfrage
xcopy *.* a:/s Kopieren aller Dateien und Unterverzeichnisse nach A:
Zu beachten ist, daß beim letzten Beispiel nicht notwendigerweise die gesamte Diskette kopiert wird. Befindet man sich schon in einem Unterverzeichnis, so werden Dateien und Verzeichnisse nur ab dieser Hierarchiestufe kopiert. Das Doppeln von Disketten kann mit
xcopy a: b:/s
erreicht werden. DOS stellt dafür aber eine bessere Möglichkeit zur Verfühgung: Den Befehl DISKCOPY. Mit
diskcopy a: b:
können Sie ein Duplikat der in A: befindlichen Diskette in B: anlegen. Kopiert wird physisch (Spur für Spur), deshalb ist dieser Befehl schneller als XCOPY. Die Zieldiskette braucht nicht formatiert zu sein; sie erhält automatisch das Quellformat. Aber Achtung: Alle Daten der Zieldiskette werden irrerparabel überschrieben. Hüten Sie sich davor, Quell- und Ziellaufwerk zu vertauschen !
Der Befehl gestattet auch, auf Rechnern mit nur einem Laufwerk Kopien zu fertigen. Mit
diskcopy a:
dient A: als Quell- und Ziellaufwerk. In manchen Versionen muß es auch doppelt angegeben werden:
diskcopy a: a:
Nachdem DOS so viel wie möglich in den Speicher geladen hat, fordert es zum Diskettenwechsel auf, beschreibt die Zieldiskette usw. Ein weiterer Vorteil des DISKCOPY-Befehls besteht darin, daß der Diskettenname (Volumenname - Sie erinnern sich ?) mitkopiert wird. Das kann bei Sicherheitskopien von gekaufter Software wichtig sein (und wird in den Handbüchern empfohlen), nämlich dann, wenn die Programme diesen Namen abfragen.
Es soll nicht verschwiegen werden, wann Sie DISKCOPY nicht verwenden können: Zwischen Disketten verschiedener Formate kann nicht kopiert werden. Und soll die starke Fragmentierung (Zersplitterung von Programmen) auf einer Diskette aufgehoben werden, so muß, wie oben gezeigt, auf XCOPY zurückgegriffen werden.
Mitlerweile gibt es, um den Mangel von DISKCOPY, welcher beim Kopieren in einem Laufwerk einen häufigen Diskettenwechsel erfordert, zu umgehen, das Programm DSKCPY. Dieses Programm vereinfacht das Kopieren einer Diskette mit nur einem Laufwerk, indem zuerst alle Sektoren der Quelldiskette eingelesen und in eine Datei auf der Festplatte geschrieben werden. Daher ist für dieses Programm eine Festplatte erforderlich. Nachdem die gesamte Quelldiskette als Datei auf der Festplatte abgelegt ist, wird der Benutzer aufgefordert, die Zieldiskette in das gleiche Laufwerk einzulegen und zur Bestätigung eine Taste zu drücken. Danach überträgt DSKCPY die Informationen aus der Festplattendatei in die entsprechenden Sektoren auf der Zieldiskette. Ist der Kopiervorgang abgeschlossen, wird die temporäre Datei auf der Festplatte automatisch gelöscht. Dadurch kann die Zieldiskette vor Beschädigungen geschützt werden.
DSKCPY ist in der Lage, alle Disketten zu kopieren, die einem Standard-MS-DOS-Format entsprechen. An dieser Stelle sei auch auf die Befehle BACKUP und RESTORE verwiesen, die für Sicherungskopien der Festplatte vorgesehen sind und mit denen es möglich ist, größere Datein zu kopieren als der Zieldatenträger aufnehmen kann. Beachten Sie dabei bitte, daß beide Befehle unbedingt zur gleichen Version von DOS gehören sollten; ohne ein passendes RESTORE gibt es keine Möglichkeit, mit BACKUP gesicherte Daten je wieder zugänglich zu machen.

(c) Jürgen Richter