MS-DOS Aufbauseminar Autor: Dipl. Ing (FH) Kiermaier 1. Sonderbearbeitungstasten in MS-DOS ............................................................................. 2 1.1. Die Funktionstasten F1, F2, F3 .......................................................................... 2 1.2. Das Programm DOSKEY................................................................................... 2 1.3. Eingeben mehrerer Befehle in einer Zeile.......................................................... 3 1.4. Erstellen eigener Befehle (Makros).................................................................... 4 2. Texte eingeben und editieren ............................................................................................ 5 2.1. Das Programm EDLIN ....................................................................................... 5 2.2. Das Programm EDIT.......................................................................................... 5 2.3. Trick 17: COPY CON Datei............................................................................... 6 3. Filter und Ein-/Ausgabeumleitungen ................................................................................ 7 3.1. Filter-Kommandos (Pipelines) ........................................................................... 7 3.2. Dateiumleitungen ............................................................................................... 8 4. Konfiguration in der Datei CONFIG.SYS ........................................................................ 9 5. BATCH-Dateien................................................................................................................ 15 5.1. Aufruf und Übergabeparameter.......................................................................... 15 5.2. Befehle für Stapeldateien ................................................................................... 16 5.3. AUTOEXEC.BAT.............................................................................................. 19 6. Die ANSI-Sequenzen ........................................................................................................ 20 6.1. Cursor- und Bildschirmsteuerung ...................................................................... 20 6.2. Tasten umbelegen............................................................................................... 21 7. Die DOSSHELL................................................................................................................ 22 7.1. Der Aufruf der DOSSHELL............................................................................... 22 7.2. Ein Menü aus der Menüleiste auswählen ........................................................... 22 7.3. Das aktuelle Laufwerk wechseln........................................................................ 23 7.4. Verzeichnis wechseln und Dateien auswählen................................................... 24 7.5. Kopieren, Verschieben und Löschen von Dateien ............................................. 24 7.6. Arbeiten mit der Programmliste ......................................................................... 26 8. Neuheiten bei MS-DOS 5.0 und 6.x ................................................................................. 27 8.1. Der HELP-Befehl ............................................................................................... 27 8.2. Mehrfachkonfigurationen ................................................................................... 27 8.3. Festplattenoptimierer: SCANDISK/DEFRAG................................................... 28 8.4. MEMMAKER .................................................................................................... 28 9. Das DEBUG-Dienstprogramm ......................................................................................... 29 Kiermaier (C)1994 2 1. Sonderbearbeitungstasten in MS-DOS MS-DOS stellt mehrere Tasten zur Verfügung, mit denen der zuletzt eingegebene Befehl wiederholt oder bearbeitet werden kann. Das ist besonders praktisch, wenn man mehrere Befehle ausführen möchte, die sich nur ein klein wenig unterscheiden. Stellen Sie sich vor, Sie wollen alle BAK- und TMP-Dateien in einem Verzeichnis löschen. Sie müßten zweimal hintereinander den Befehl DEL, gefolgt von dem zu löschenden Dateinamen, eingeben. Einfacher geht es mit den Bearbeitungstasten F1 und F3. 1.1. Die Funktionstasten F1, F2, F3 Die Taste F1 bringt bei jedem Druck ein Zeichen des vorhergehenden Befehls zurück. Das geht solange, bis der komplette Befehl wieder auf dem Bildschirm steht. Dasselbe geschieht auch, wenn statt der Taste F1 die NACH-RECHTS-Taste gedrückt wird. Geben Sie ein: ECHO Ein beliebiger Befehl ¥ Drücken Sie nun mehrmals die F1-Taste und abschließend ¥! Wollen Sie alle Zeichen eines Befehls bis zu einem bestimmten Zeichen wiederholen, um ab dort eine Änderung vorzunehmen, können Sie die Taste F2 benutzen. Nach dem Drücken von F2 und einer weiteren beliebigen Taste, erscheint der ganze Befehl bis zum erstmaligen Auftreten des eingegeben Zeichens. Es wird dabei zwischen Groß- und Kleinschreibung unterschieden. Drücken Sie die F2-Taste und anschließend die Taste B! Wiederholen Sie die Eingabe (nicht ¥ drücken!) Die Taste F3 schließlich bringt alle restlichen Zeichen des vorherigen Befehls auf den Bildschirm. War schon etwas eingegeben, so erscheint nur der Rest des alten Befehls. War noch nichts eingegeben, erscheint der komplette alte Befehl. Das kann beispielsweise genutzt werden, wenn mehrere verschiedene Befehle mit denselben Dateien bzw. Parametern ausgeführt werden sollen. Drücken Sie nun die F3-Taste und abschließend ¥! Drücken Sie nochmal die F3-Taste und abschließend ¥! Zusätzlich kann mit der Taste EINFG der Einfügemodus ein- bzw. bei erneutem Drücken wieder ausgeschaltet werden. Mit der Taste ENTF können Zeichen aus dem Zeichenbuffer gelöscht werden. Diese Sonderbearbeitungstasten sind besonders gut geeignet, um bei mehreren ähnlichen Befehlen schnell und einfach eine Wiederholung oder bei Eingabefehlern eine Verbesserung zu ermöglichen. 1.2. Das Programm DOSKEY Kiermaier (C)1994 3 Will man mehr als nur den zuvor eingegebenen Befehl zur Verfügung haben, so muß man das Programm DOSKEY aufrufen. Es installiert sich dann resident (= dauerhaft) im Speicher. Durch dieses Programm hat man die Möglichkeit, wesentlich mehr Befehle zu speichern und wieder zurück zu holen. Sobald DOSKEY geladen ist, speichert es eine Liste der eingebenen Befehle. Die Liste kann mit der Taste F7 angezeigt werden. Dabei ist am Anfang der Zeilen jedem Befehl eine Zahl zugeordnet. Geben Sie ein: DOSKEY MD \MYTEMP COPY *.BAT C:\MYTEMP Drücken Sie nun die F7-Taste! ¥ ¥ ¥ Mit den Tasten NACH-OBEN und NACH-UNTEN können Sie einen der eingebenen Befehle wiederaufrufen. Sie werden nacheinander in die Befehlszeile kopiert, wo Sie sie entweder weiter bearbeiten oder nochmal ausführen können. Drücken Sie die NACH-OBEN-Taste bzw. NACH-UNTEN-Taste bis Sie den Kopierbefehl wieder in der Anzeige haben! Ändern Sie die Endung BAT im Befehl in SYS, indem Sie die NACH-LINKS-Taste bzw. NACH-RECHTS-Taste benutzen und drücken Sie dann ¥! Abgesehen von der Möglichkeit den gewünschten Befehl zu suchen, können Sie mit der F9Taste sofort den Befehl wieder reaktivieren. Dazu werden Sie nach dem Drücken der Taste aufgefordert, die Nummer des Befehls einzugeben. Es kann also erforderlich sein, sich vorher mit F7 die Liste noch einmal anzusehen. Sollte es sich nach der Eingabe der Nummer heraustellen, daß es der falsche Befehl war, so kann der Befehl mit der ESC-Taste wieder von der Anzeige gelöscht werden und ein erneuter Versuch erfolgen. Drücken Sie die Taste F9 und anschließend die Taste 2 (falls dort Ihr Kopierbefehl war) Ändern Sie die Endung BAT im Befehl in COM, indem Sie die NACH-LINKS-Taste bzw. NACH-RECHTS-Taste benutzen und drücken Sie dann ¥! Sobald man längere Zeit mit DOSKEY arbeitet, wird die Liste immer unübersichtlicher. Dann wird es meist Zeit, mit Hilfe der Tastenkombination ALT-F7 alle Befehle in der Liste zu löschen. Drücken Sie gleichzeitig die ALT- und die F7-Taste! Drücken Sie nun die F7-Taste allein, um sich den Listeninhalt anzusehen! Das Programm DOSKEY läßt eine sehr flexible Editierung und Wiederholung aller bereits eingegebener Befehle zu. 1.3. Eingeben mehrerer Befehle in einer Zeile Normalerweise kann nur ein Befehl je Zeile eingegeben werden. Wenn jedoch DOSKEY installiert ist, können auch mehrere Befehle hintereinander in die gleiche Zeile geschrieben werden. Dazu drücken Sie nach jedem Befehl die Tastenkombination STRG-T (= sTop) und Kiermaier (C)1994 4 geben dann den nächsten Befehl ein. Erst am Schluß wird dann die Eingabetaste gedrückt und alle Befehle der Reihe nach abgearbeitet. Es können allerdings nicht mehr als 128 Zeichen je Zeile eingegeben werden! Geben Sie ein: DEL \MYTEMP\*.* Drücken Sie STRG-T Geben Sie dann ein: RD \MYTEMP (nicht ¥ drücken!) ¥ Mit dem Programm DOSKEY können auch mehrere Befehle in einer Zeile eingegeben werden. 1.4. Erstellen eigener Befehle (Makros) Neben den bisher genannten Möglichkeiten können mit DOSKEY auch eigene neue Befehle erstellt werden. Weil dabei mehrere DOS-Befehle unter einem neuen Überbegriff zusammengefaßt werden, nennt man dies auch einen MAKRO. Um ein Makro zu erzeugen, gibt man hinter dem Aufruf von DOSKEY einfach den Namen des Makros (= neuer Befehlsname) und nach einem Gleichheitszeichen den DOS-Befehl mit seine spezifischen Parameter an. Geben Sie ein: Geben Sie ein: DOSKEY WDIR = DIR /O:N /W ¥ WDIR ¥ Es ist natürlich auch wieder möglich, mehrere Befehle in einer Zeile anzugeben. Allerdings kann zur Trennung der Einzelbefehle nicht die Tastenkombination STRG-T benutzt werden, sondern es muß die STRG-Taste durch das Dollarzeichen ersetzt werden. Als Trennung wird also die Zeichenfolge $T angegeben. Geben Sie ein: Geben Sie ein: DOSKEY PROG = DIR *.COM $T DIR *.EXE ¥ PROG ¥ Bei manchen Befehlen müssen beim Aufruf Werte mit übergeben werden. Das ermöglicht es, Befehle flexibler zu gestalten. Für diese Übergabewerte kann bei Makrodefinitionen ein Platz freigehalten werden. Dazu verwendet man die Variablen $1 bis $9. Wann immer DOS bei der Ausführung auf eine solche Variable trifft, ersetzt es sie durch den entsprechenden beim Aufruf übergebenen Wert. Das bedeutet, $1 steht für den ersten Übergabewert, $2 für den zweiten, usw., aufsteigend bis $9 (für den neunten Wert). Kommt also nur ein Wert vor, so heißt die Variable $1. Falls die Anzahl der Übergabewerte nicht bekannt ist, kann auch die Variable $* benutzt werden. In diesem Fall wird dann der gesamte Text hinter dem aufrufenden Befehl übernommen. Geben Sie ein: Geben Sie ein: DOSKEY SUCH = DIR $1 /S ¥ SUCH *.DOC ¥ Da diese Befehle mit dem Ausschalten des Rechners verloren gehen, sollten Sie bei häufiger Verwendung in die Stapeldatei AUTOEXEC.BAT eingefügt werden. Sie stehen dann nach jedem Einschalten des Rechners sofort zur Verfügung. Kiermaier (C)1994 5 DOSKEY ermöglicht es auch eigene Befehlskombinationen, sogenannte Makros, zu erstellen. Kiermaier (C)1994 6 2. Texte eingeben und editieren Eine der häufigsten Aufgaben unter MS-DOS war und ist es, Texte zu schreiben und zu bearbeiten. Sei es nun für Briefe oder eigene Programme, wie die sogenannten BATCH-Dateien. Bis MS-DOS Version 4.x war es dazu nötig, ein eigenes Textverarbeitungsprogramm zu laden oder sich mit dem Programm EDLIN zu begnügen. Seit MS-DOS 5.0 wird jedoch ein komfortabler Editor namens EDIT zum Betriebsystem mitgeliefert. 2.1. Das Programm EDLIN Dieser veraltete Texteditor wird durch Eingabe von EDLIN aufgerufen und ist zeilenorientiert. Das heißt, es kann immer nur eine Zeile, nämlich die gerade aktuelle, bearbeitet werden. Zum Editieren muß mit Hilfe der Zeilennummerierung erst eine Zeile ausgewählt werden, um sie dann mit verschiedenen weiteren Befehlen für Einfügen, Löschen, usw. zu ändern. Die EDLINBefehle können durch das Eingeben des Fragezeichens jederzeit angezeigt werden. ACHTUNG! Ab MS-DOS Version 6.0 gehört EDLIN.EXE nicht mehr zum Lieferumfang! Geben Sie ein: Geben Sie ein: Geben Sie ein: EDLIN C:\AUTOEXEC.BAT ¥ ? ¥ q ¥ 2.2. Das Programm EDIT Das Programm EDIT ist ein sehr bequemes, mausgesteuertes Textverarbeitungsprogramm. Zum Aufruf gibt man den Befehl EDIT und dahinter die zu bearbeitende Datei ein. Startet man das Programm nur durch die Eingabe von EDIT, wird man als erstes in einem Fenster aufgefordert, einen Dateinamen anzugeben. In beiden Fällen erscheint daraufhin eine meist blaue Oberfläche und die gewünschte Textdatei. Sie kann dann beliebig mit den Cursortasten (= Pfeiltasten) oder der Maus editiert werden. Am oberen Bildschirmrand stehen einige Menüs zur Verfügung, die weitere Befehle für den Editor enthalten. Sie können mit durch Anklicken mit dem Mauszeiger oder der ALT-Taste geöffnet werden (Pull-Down-Menü). Das wichtigeste davon ist das Hilfe-Menü, in dem alle wichtigen Schritte und Vorgänge genau erklärt werden. Um eine kleine Textdatei neu zu erstellen, gehen Sie so vor: Geben Sie ein: EDIT TEST.TXT ¥ Schreiben Sie einen beliebigen kleinen Text Markieren Sie eine beliebige Stelle des Textes: Setzen Sie den Cursor auf das erste zu markierende Zeichen, drücken Sie dann mehrmals die Taste NACH-RECHTS und halten dabei die Umschalttaste gedrückt, bis Sie das letzte Zeichen erreicht haben. Kiermaier (C)1994 7 Setzen Sie den Mauszeiger auf das erste zu markierende Zeichen und drücken die linke Maustaste. Halten Sie die Taste gedrückt während Sie den Mauszeiger bis zum letzen Zeichen weiterführen. Um Auschnitte aus diesem Text zu suchen, zu kopieren oder zu löschen, wird der Menüpunkt BEARBEITEN geöffnet. Darin sind die wichtigsten Editierfunktionen enthalten. Drücken Sie die ALT-Taste, wählen Sie mit den Tasten NACH-RECHTS oder NACHLINKS den Menüpunkt BEARBEITEN aus und drücken dann die NACH-UNTEN-Taste Zeigen Sie mit der Maus auf den Menüpunkt BEARBEITEN und drücken Sie dann einmal die linke Maustaste Wählen Sie mit der NACH-UNTEN-Taste den Punkt KOPIEREN und drücken dann die Eingabetaste. Zeigen Sie mit der Maus auf den Punkt KOPIEREN und drücken Sie dann einmal die linke Maustaste Der markierte Text ist nun in einen internen Speicherpuffer kopiert worden. Um ihn wieder zu holen, geht man so vor: Wählen Sie eine beliebige andere Stelle im Text mit den Cursortasten Zeigen Sie mit der Maus auf eine beliebige andere Stelle im Text und drücken Sie dann einmal die linke Maustaste Öffnen Sie erneut den Menüpunkt BEARBEITEN und wählen den Punkt EINFÜGEN. Abschließend drücken Sie die Eingabetaste Öffnen Sie erneut den Menüpunkt BEARBEITEN und klicken Sie einmal mit der linken Maustaste auf den Punkt EINFÜGEN Um den Text zu drucken, zu speichern oder den Editor zu beenden, müssen Sie den Menüpunkt DATEI öffnen. Wenn Sie den Punkt BEENDEN auswählen ohne gespeichert zu haben, fragt Sie der EDITOR automatisch, ob er die Datei sichern soll. um Öffnen Sie erneut den Menüpunkt DATEI und wählen den Punkt BEENDEN. Da die Datei nicht gespeichert werden soll, wählen Sie durch Drücken der TABULATOR-Taste die Schaltfläche NEIN und drücken abschließend die Eingabetaste Öffnen Sie erneut den Menüpunkt DATEI und klicken Sie einmal mit der linken Maustaste auf den Punkt BEENDEN. Klicken Sie abschließend einmal auf die Schaltfläche NEIN, die Datei nicht zu speichern. Das Programm EDIT ist ein komfortables mausgesteuertes, bildschirmorientiertes Textverarbeitungsprogramm. 2.3. Trick 17: COPY CON Datei Falls Sie schnell mal nur eine kleine Textdatei erstellen wollen, müssen Sie deshalb nicht gleich einen Editor starten. Eleganter und schneller geht das meist mit dem Kopierbefehl. Allerdings Kiermaier (C)1994 8 kann dabei der Text nicht editiert oder verbessert werden. Deshalb eignet sich das Verfahren nur für kurze oder einzeilige Texte. Geben Sie ein: COPY CON TEST.TXT ¥ Geben Sie einen beliebigen Text ein Drücken Sie abschließend die Taste F6 oder STRG-Z um ein Dateiende-Zeichen zu erhalten und abschließend die Eingabetaste Anstatt von der Konsole direkt in eine Datei zu schreiben, können Sie natürlich auch direkt auf den Drucker schreiben. Sie müssen dazu nur als Ziel den Drucker auswählen: COPY CON PRN. 3. Filter und Ein-/Ausgabeumleitungen Bei bestimmten MS-DOS Befehlen, wie TYPE, DIR, etc. ist der Bildschirm nicht immer das gewünschte Ausgabegerät. Manchmal möchte man das Inhaltsverzeichnis auch auf den Drucker ausgeben und dazu soll es vorher unter Umständen auch noch alphabetisch sortiert werden. Oder eine Textdatei huscht beim Ansehen mit TYPE so schnell vorbei, daß man kaum den Inhalt erkennen kann. Für solche Fälle gibt es bei DOS die Möglichkeit Ausgaben und auch Eingaben umzuleiten oder vorher zu filtern. Oft ist es sinnvoll Dateien nicht so wie sie sind auf den Bildschirm auszugeben, sondern sie erst alphabetisch zu sortieren oder sie nur seitenweise auszugeben. Dafür stellt MS-DOS sogenannte Filterprogramme zur Verfügung. 3.1. Filter-Kommandos (Pipelines) Ein Filter ist ein Programm, durch das eine Datei geschickt wird und dadurch verändert wieder ausgegeben wird. Alle Filterprogramme werden durch das PIPE-Zeichen "|" (Strich mit Durchschuß) mit einem entsprechenden Ausgabebefehl verknüpft. MS-DOS stellt dazu drei Filterprogramme zur Verfügung: Der FIND-Filter durchsucht Dateien nach einem bestimmten Textabschnitt. Dabei wird im angegebenen Suchtext zwischen Groß- und Kleinschreibung unterschieden (Ausnahme: Option /i dahinter angeben). Wenn der Filter die angegebene Zeichenfolge findet, gibt er die betreffende Zeile aus. Geben Sie ein: TYPE AUTOEXEC.BAT | FIND "path" /i ¥ Der MORE-Filter ermöglicht es, eine Ausgabe nach jeweils 24 Zeilen anzuhalten. Es wird dann die Meldung '-- Fortsetzung --' ausgegeben und auf einen Tastendruck gewartet. Geben Sie ein: TREE C:\ | MORE ¥ Der SORT-Filter schließlich sortiert eine Ausgabe alphabetisch nach den jeweils ersten Zeichen jeder Zeile und gibt sie so wieder aus. Geben Sie ein: DIR C:\DOS\*.* | SORT ¥ Kiermaier (C)1994 9 Letzte Anzeige war bestimmt zu schnell vorbei. Deshalb können Filter können miteinander kombiniert werden. Geben Sie ein: DIR C:\DOS\*.* | SORT | MORE ¥ 3.2. Dateiumleitungen Neben der Filterung einer Datei kann sie bei der Ausgabe auch auf eine andere Datei umgeleitet werden. Das heißt, daß das Ergebnis eines Filtervorgangs oder auch nur die Datei selbst in eine andere Datei geschrieben (kopiert) wird. Dateiumleitungen werden durch das Größer- und Kleinerzeichen vorgenommen. So kann zum Beispiel ein Inhaltsverzeichnis in eine Datei geschrieben (umgeleitet) werden: Geben Sie ein: DIR C:\DOS\*.* > TEST1.DIR ¥ Um dieses Verzeichnis auch noch sortiert in die Datei zu kopieren, kann der Befehl mit dem Filter SORT kombiniert werden. Geben Sie ein: DIR C:\DOS\*.* | SORT > TEST2.DIR ¥ Normalerweise wird eine bereits existierende Datei dabei automatisch überschrieben. Soll in der Datei nur ein zusätzliches Verzeichnis angehängt werden, ohne die alte Datei zu überschreiben, so muß das Grösserzeichen doppelt angegeben werden. Geben Sie ein: DIR C:\*.* | SORT >> TEST2.DIR ¥ Anstatt das Pipesymbol "|" zu benutzen, kann das Inhaltsverzeichnis auch zuerst auf das Filterprogramm und dann auf die Datei ausgegeben werden. Folgendes Beispiel schreibt alle Unterverzeichnisse von C:\ alphabetisch sortiert in die Datei TEST3.DIR. Geben Sie ein: SORT < TEST1.DIR > TEST3.DIR ¥ Da DOS auch Ein-/Ausgabegeräte wie Dateien behandelt, kann auch beispielsweise eine Ausgabe auf den Drucker erfolgen. Dazu muß lediglich hinter dem Befehl das Größerzeichen und dahinter die Zeichenfolge PRN bzw. LPT1 geschrieben werden. Geben Sie ein: TYPE C:\AUTOEXEC.BAT > PRN ¥ Dadurch ist auch wieder durch einen Trick möglich, ähnlich wie mit COPY CON ... Textdateien zu erstellen. Es wird dazu lediglich der TYPE-Befehl benutzt. Als Eingabe wird die Tastatur CON und als Ausgabedatei ein beliebiger Dateiname angegeben. Beendet wird das Ganze wieder durch Drücken der F6-Taste und anschließend der Eingabetaste. Geben Sie ein: TYPE CON > TEST.TXT ¥ Schließen Sie durch Drücken der F6-Taste und abschließend ¥ Kiermaier (C)1994 10 Wenn Sie die Meldungen eines Befehls nicht sehen wollen, können Sie die Bildschirmausgabe nach nirgendwo umleiten. Dazu geben Sie als Gerät NUL hinter dem Größerzeichen an. Geben Sie ein: COPY C:\AUTOEXEC.BAT C:\DOS >NUL ¥ Kiermaier (C)1994 11 4. Konfiguration in der Datei CONFIG.SYS Nachdem der Computer den POST ausgeführt hat, wird von der Systemdiskette (Laufwerk A: oder aktive Partition der Festplatte) ein sogenanntes BOOT-Programm geladen und gestartet. Dieses BOOT-Programm lädt dann seinerseits zuerst die Dateien IO.SYS und MSDOS.SYS sowie den Kommandointerpreter COMMAND.COM. Letztgenanntes Programm wird gestartet und lädt seinerseits die Konfigurationsdatei CONFIG.SYS und die Stapeldatei AUTOEXEC.BAT. In der Datei CONFIG.SYS werden alle vorhandenen Geräte und Schnittstellen für ihren Gebrauch eingestellt. Demgemäß stehen in dieser Datei viele wichtige Befehle, die das System überhaupt erst funktionsfähig machen oder sogar optimieren. Einige wichtige Befehle von insgesamt 15 möglichen sollen hier aufgeführt werden. BREAK = ON|OFF Ist der Schalter BREAK auf ON gestellt, ermöglicht er das Unterbrechen bestimmter Diskettenoperationen mit Hilfe der Tastenkombination STRG-C bzw. STRG-BREAK. Dabei verlangsamt sich das Gesamtsystem, weil ständig diese Tastenkombination geprüft wird. Beispiel: BREAK = ON BUFFERS = n[,m] Hiermit werden Diskettenpuffer reserviert. Das sind Speicherbereiche, in die Daten beim Lesen und Schreiben zwischengespeichert werden können. Umso mehr Puffer zur Verfügung stehen, umso seltener muß von einem der relativ langsamen Laufwerke nachgeladen werden. Je größer also die Zahl der Buffer n, desto schneller wird das System. Allerdings darf n nicht größer als 99 sein und sollte sich nach folgenden Empfehlung richten. Festplattengröße bis 40MB 20 n 40-79MB 30 80-119MB 40 ab 120MB 50 Wenn man davon ausgeht, daß ein logisches Laufwerk nicht größer als 100 MB sein sollte, ist der optimale Wert für n = 40. Dies belegt dann 40•532 = 21280 Byte bzw. rund 21 KB des Hauptarbeitsspeichers. Zusätzlich kann mit dem Befehl BUFFER ein Cache-Speicher eingerichtet werden. Das bedeutet, daß DOS beim Lesen einer Datei einen Teil der Daten in einen Speicher schreibt. Fordert dann das Programm die nächsten Daten aus dieser Datei, liefert DOS diese aus dem Speicher statt von der Festplatte. Das ist natürlich wesentlich schneller möglich! Um diesen Cache zu nutzen, muß für m ein Wert zwischen 0 und 8 angegeben werden. Empfehlenswert ist diese Methode vor allem, wenn Sie viel mit Textverarbeitungsprogrammen zu tun haben. Allerdings sollte diese Option nicht zusammen mit SMARTDRV genutzt werden! Beispiel: BUFFERS = 40,8 Kiermaier (C)1994 12 COUNTRY = Landescode, Codeseite, C:\DOS\COUNTRY.SYS Damit wird das Datum und das Währungsformat auf das jeweilige Land eingestellt. So erscheint bei Anzeige des Datums z.B. 13.1.1994 und nicht wie im englischen Sprachraum üblich 1-131994. Der Landescode ist immer die internationale Vorwahlnummer, für Deutschland also 049. Als Codeseite kann 850 (mehrsprachig) oder 437 (US) angegeben werden, was sich auf die Zeichentabelle zur Bildschirmausgabe bezieht. In der Datei COUNTRY.SYS sind alle länderspezifischen Angaben gespeichert, um das gewünschte Format darzustellen. Beispiel: COUNTRY = 049, 437, C:\DOS\COUNTRY.SYS DEVICE = Gerätetreiber Es wird ein Gerätetreiber installiert, also ein Programm, das sich um die Kommunikation zwischen einer Hardwarekomponente und dem Betriebssystem kümmert. Da es im Hauptspeicher abgelegt wird, steht es somit ständig zur Verfügung, verkleinert aber den Arbeitsspeicher! Mit DEVICE können folgende Treiber/Programme installiert werden: a) ANSI.SYS Steuersequenzen für Bildschirm- und Cursorsteuerung einrichten. Ist dieser Treiber installiert kann man zum Beispiel die Farben und die Position für Bildschirmanzeigen ändern oder bestimmten Tasten ganze Befehlsgruppen zuordnen (siehe ANSI-Sequenzen). Beispiel: DEVICE = C:\DOS\ANSI.SYS b) DISPLAY.SYS con = (Typ, Hardware-Codeseite, n) Stellt die verwendete Bildschirmkarte ein und ermöglicht für EGA und VGA mehrere Zeichensatztabelle (Codepage) zu installieren. Diesen Treiber sollte man nur einbinden, wenn man mehrere, verschiedene Zeichensatztabellen verwenden möchte. Beispielsweise kann man dann mit dem Befehl MODE CON CP SELECT ... statt dem US-Zeichensatz (437) den mehrsprachigen (850) einstellen. Falls als Anzeige ein LCD-Schirm verwendet wird, kann diese Einstellung ebenfalls nötig sein. Typ: n: MONO, CGA (Treiber wirkungslos) LCD, EGA (EGA=VGA) Anzahl der zusätzlich zu installierenden Codeseiten (werden später angegeben) Beispiel: DEVICE = C:\DOS\DISPLAY.SYS CON = (EGA, 437, 2) c) DRIVER.SYS /Parameter Dies ist ein sehr interessanter und wichtiger Treiber. Damit können nämlich, außer den Diskettenlaufwerken A: und B:, noch bis zu vier weitere Laufwerke installiert werden. Die schon vorhandenen Laufwerke können damit außerdem so verändert werden, daß zum Beispiel mehr Daten auf den Disketten Platz hat. Üblicherweise lassen sich nämlich nicht nur 80 Zylinder, sondern ohne weiteres auch 82-83 Zylinder formatieren. Bei 3½ Zoll Disketten bedeutet dies ca. 2•18•512 = 18 KB mehr Speicherplatz. Beispiel: DEVICE = C:\DOS\DRIVER.SYS /d:0 /f:7 /t:82 /s:18 (3½ Zoll Laufwerk A: wird um 2 Zylinder vergrößert) Kiermaier (C)1994 13 Auch zum Kopieren von Dateien auf dem gleichen Laufwerk (A: → A:) kann dieser Treiber nützlich sein. Dazu installiert man mit DRIVER.SYS dasselbe Laufwerk einfach nochmal. Es erhält daraufhin zusätzlich eine neue Bezeichnung. Nun kann ohne Probleme kopiert werden, beispielsweise mit XCOPY B:\*.* D: /s. Dies würde alle Dateien von Laufwerk B: auf eine andere Diskette im gleichen Laufwerk kopieren. DOS fordert dann automatisch zum Wechseln der Disketten auf. Beispiel: DEVICE = C:\DOS\DRIVER.SYS /d:1 (Laufwerk B: wird z.B. auch mit Bezeichnung D: angesprochen) Man kann damit auch aus seinem HD-Laufwerk ein zusätzliches DD-Laufwerk machen. Statt 1.44 MB würde dieses Laufwerk dann zum Beispiel nur das 720 KB Format unterstützen. Der FORMAT-Befehl formatiert Disketten in diesem Laufwerk dann auf nur 720 KB. Beispiel: DEVICE = C:\DOS\DRIVER.SYS /d:0 /f:2 Parameter: /d:n /f:m /h:n /s:m /t:n mit n=0 (Laufwerk A:), n=1 (Laufwerk B:), etc. mit m=0 (=360KB-Laufwerk), m=1 (=1,2MB-Laufwerk), m=2 (720KB) mit m=7 (=1,44MB), m=9 (=2,88MB) mit n=1 bis 99 (Zahl der Schreib/Leseköpfe bzw. Seitenzahl, üblich: 2) mit m=1 bis 99 (Zahl der Sektoren, üblich: 9 oder 18 bei HD-Laufwerk) mit n=1 bis 999 (Zahl der Zylinder, üblich: 80) d) EMM386.EXE ON|OFF|AUTO NOEMS RAM Emulator für EXPANDED MEMORY laden. Dieses Programm darf nur nach HIMEM installiert werden. Es ermöglicht dann, daß DOS auf den UPPER MEMORY zugreifen und dort Gerätetreiber ablegen kann, um den Hauptspeicher zu entlasten. Der Speichermanager kann mit ON ein- und mit OFF wieder ausgeschaltet werden. AUTO verursacht, daß der Manager nur dann aktiv wird, sobald ein Programm Expansionspeicher anfordert. NOEMS bedeutet, daß DOS zwar auf den UPPER MEMORY zugreifen kann, jedoch kein Expansionspeicher zur Verfügung gestellt wird. Dies ist üblich, da heute kaum mehr Programme mit diesem Speichertyp arbeiten. RAM tut das Gegenteil, es erlaubt den Zugriff auf den UPPER MEMORY und den Expansionspeicher. Daneben gibt es noch eine Reihe anderer Optionen, die aber nicht unbedingt erwähnt werden müssen. Beispiel: DEVICE = EMM386.EXE AUTO NOEMS e) HIMEM.SYS Speichermanager für den EXTENDED MEMORY. HIMEM ermöglicht also den Zugriff auf den Erweiterungsspeicher (alles über 1MB). Dazu richtet HIMEM die sogenannte HMA ein. Dies ist ein 64KB großer Bereich unmittelbar über der 1MB-Grenze, mit dessen Hilfe unter anderem der Zugriff auf den EXTENDED MEMORY geregelt wird. Beispiel: DEVICE = C:\DOS\HIMEM.SYS f) PRINTER.SYS LPTx = (Typ, Hardware-Codeseite, n) Installiert einen Druckertreiber, sowie die dazugehörige Zeichensatztabelle (Codepage) und den Anschluß des Druckers. Dabei bezieht sich die Angabe Typ auf den Drucker, der mit einem der folgenden IBM-Drucker kompatibel ist (siehe Druckerhandbuch). Dazu werden die sogenannte CPI-dateien verwendet, die DOS mitliefert (z.B. 4202.CPI). Kiermaier Typ: (C)1994 14 4202 IBM Proprinter XL Modell 4201/4202 4208 IBM Proprinter X24E bzw. XL24E 5202 IBM Quietwriter III Als Codeseite kann wieder 437 (US) oder 850 (mehrsprachig) angegeben werden. n gibt an wieviele Codeseiten für den Drucker vorbereitet werden können (zur Verfügung stehen). Beispiel: DEVICE = C:\DOS\PRINTER.SYS LPT1 = (4201,850,1) g) RAMDRIVE.SYS Größe /E Richtet ein virtuelles Laufwerk ein. Das ist kein echtes Laufwerk, sondern nur ein Speicherbereich, der wie ein Laufwerk angesprochen wird. Durch die extrem niedrige Zugriffszeit von Speicherbausteinen (70ns im Vergleich zu 14ms bei Festplatten) erreicht man leicht 200mal schnelleren Datentransfer, bei Disketten sogar bis zu 1000mal. Allerdings hat ein virtuelles Laufwerk den Nachteil alle auf ihm gespeicherten Informationen nach dem Ausschalten zu verlieren. Besonders die DOSSHELL kann in ihrer Arbeit erheblich beschleunigt werden, wenn die Temporärdateien auf das RAM-Laufwerk gelegt werden. Dies wird erreicht durch Angabe von TEMP = D:\ (falls D: das nächste freie Laufwerk ist) in der AUTOEXEC.BAT. Hohe Beschleunigung erreicht man auch beim Kopieren von Disketten, wenn die Dateien auf dem RAM-Laufwerk zwischengelagert werden. Der Parameter Größe gibt an, welche Speicherkapazität das RAM-Laufwerk haben soll und hängt von der Größe des EXTENDED MEMORY ab. Normalerweise genügt die Größe einer 3½ Zoll Diskette, also rund 1500 KB. Die Option /E gibt an, daß das RAM-Laufwerk im EXTENDED MEMORY liegen soll. Ohne diese Angabe liegt es im Hauptspeicher! Beispiel: DEVICE = C:\DOS\RAMDRIVE.SYS 1500 /E h) SETVER.EXE Lädt eine Versionstabelle in den Speicher. Manche Programme wurden für eine bestimmte DOS-Version geschrieben und bringen eine Fehlermeldung ('falsche DOS-Version'), wenn sie mit einer neueren Version ausgeführt werden. SETVER stellt für viele Programme die entsprechende Versionnummer zur Verfügung. Oft ist es dazu nötig die interne Tabelle zu erweitern, indem man an der Eingabeaufforderung angibt: SETVER datei x.xx Beispiel: DEVICE = C:\DOS\SETVER.EXE i) SMARTDRV.EXE Größe Mindestgröße (ACHTUNG! Bei MS-DOS 5.0 und 6.0 noch SMARTDRV.SYS, neuer: WINDOWS 3.1) Installiert einen Festplatten-Cache. Damit werden oft benötigte Dateien statt vom Laufwerk vom Cache-Speicher eingelesen bzw. dorthin geschrieben. Gespeichert werden dabei die am häufigsten benutzten Sektoren, seltener benutzte werden zugunsten neuer Sektoren gelöscht. Da ein Speicherzugriff schneller ist als ein Laufwerkszugriff, wird das System dabei beschleunigt. Vorausgesetzt, es werden Programme benutzt, die häufig auf bestimmte Daten zugreifen müssen. Da dies selten der Fall ist, wird die Beschleunigung normal nicht besonders merkbar. VORSICHT! Beim Auschalten des Rechners kann es zu Datenverlust kommen, deshalb sollte vorher mit STRG-ALT-ENTF der Rechner erst neu gestartet werden. SMARTDRV schreibt dann noch alle Daten auf die Festplatte, bevor es neu startet. Kiermaier (C)1994 15 Größe gibt an, wie groß der Festplattencache sein soll. Größere Wert als 2048 KB (=2MB) sind nicht sinnvoll! Mindestgröße legt fest, auf welche minimale Größe Programme wie WINDOWS den Cache-Speicher verkleinern dürfen. Hier sollte mindestens 256 KB angegeben werden. Beispiel: DEVICE = C:\DOS\SMARTDRV.SYS 2048 512 Bei Computern mit SCSI-Festplatten muß eine Doppelpufferung aktiviert werden. Dies geschieht durch Angabe von /DOUBLE_BUFFER. Beispiel: DEVICE = C:\DOS\SMARTDRV.SYS /DOUBLE_BUFFER DEVICEHIGH = Gerätetreiber Im Prinzip bewirkt dieser Befehl dasselbe wie DEVICE. Aber dabei wird versucht den Gerätetreiber in den UPPER MEMORY zu schreiben, was Hauptspeicher spart. Voraussetzung dafür ist, daß EMM386.EXE installiert ist und der Befehl DOS=UMB vorausgeht. Andernfalls, oder falls kein Platz mehr zur Verfügung steht, wird der Gerätetreiber ganz normal im Hauptspeicher eingerichtet. Wieviel Platz im UPPER MEMORY zur Verfügung steht kann mit dem MEMBefehl untersucht werden, z.B: MEM /F. EMM386.EXE und SMARTDRV.EXE dürfen nicht mit DEVICEHIGH installiert werden! Beispiel: DEVICEHIGH = C:\DOS\RAMDRIVE.SYS 1500 /E DOS = HIGH|LOW , UMB|NOUMB Mit dem Parameter HIGH wird angegeben, daß DOS sich selbst in die HMA (Extended Memory) laden soll. Es belegt somit wesentlich weniger Hauptspeicher. LOW bewirkt das Gegenteil, DOS wird dann auf jeden Fall in den konventionellen Speicher geladen (unter 640KB). Der Parameter UMB erlaubt DOS den Zugriff auf den UPPER MEMORY. Dieser Parameter muß angegeben werden, wenn DEVICEHIGH benutzt werden soll. Beispiel: DOS = HIGH,UMB FCBS = n FCB (File-Control-Blocks) sind eine veraltete Möglichkeit Dateien zu verwalten. Dies stammt noch aus den Zeiten des DOS-Vorläufers CP/M. Der Befehl FCBS gibt mit dem Wert n an, wieviele Dateien DOS gleichzeitig offen halten darf. Dieser Wert muß mindestens 4 sein. Da das die Standardeinstellung ist, braucht der Befehl nicht in der CONFIG.SYS stehen. Ausnahme: ein älteres Programm verlangt ausdrücklich mehr FCBS. Beispiel: FILES = n FCBS = 4 Kiermaier (C)1994 16 Dies ist die neuere Ausgabe des Befehls FCBS. Auch mit FILES legt man die maximale Anzahl gleichzeitig offener Dateien fest. DOS vergibt dazu jeder offenen Datei eine Nummer (Handler), mit der Datei wesentlich flexibler gehandhabt werden können, als mit FCBs. Der Wert n sollte bei mindestens 20 liegen. Ist WINDOWS installiert, sollte n sogar 30 betragen. Beispiel: FILES = 30 INSTALL = Programmname Ähnlich wie der DEVICE-Befehl arbeitet auch der INSTALL-Befehl. Allerdings werden hier statt Gerätetreiber COM- und EXE-Programme fest eingerichtet. Verwendet werden können zum Beispiel FASTOPEN.EXE, KEYB.COM, NLSFUNC.EXE sowie SHARE.EXE. Auch Mousetreiber lassen sich oft so laden. Durch die Verwendung von INSTALL läßt sich etwas Speicher sparen, da diese Programme beim Aufruf in der AUTOEXEC.BAT oder an der Eingabeaufforderung durch den Umgebungsspeicher (Environment) mehr Speicher benötigen. Beispiel: INSTALL = C:\DOS\KEYB.COM GR, ,C:\DOS\KEYBOARD.SYS LASTDRIVE = n Der Befehl legt die maximale Anzahl der Laufwerke fest, auf die man zugreifen kann. Der Wert n steht dabei für die letzte gültige Laufwerksbezeichnung, also einen Buchstaben zwischen A und Z. Da DOS für jedes logische Laufwerk Speicherplatz reserviert, kann es sinnvoll sein nur die unbedingt notwendige Anzahl der Laufwerke freizugeben. Wird der Befehl in der CONFIG.SYS nicht angegeben, so wird automatisch für n ein Wert angenommen, der um eins höher liegt, als die tatsächliche Anzahl der Laufwerke im System. Beispiel: LASTDRIVE = G REM Mit REM kann man in der CONFIG.SYS einen Kommentar einfügen, um beispielsweise einen Befehl zu erklären. Dazu muß die REM-Anweisung am Anfang der Zeile stehen. Alles was hinter diesem Befehl steht, wird von DOS nicht beachtet. Man kann mit REM auch jeden Konfigurationsbefehle vorübergehend ausschalten, indem man REM davor schreibt und so auf Fehler testen oder den Befehl nur aktivieren, wenn man ihn braucht. Beispiel: REM DEVICE = C:\DOS\SETVER SHELL Der Befehl SHELL installiert den Befehlsinterpreter, mit dem DOS arbeiten soll. In der Regel ist das das Programm COMMAND.COM. Prinzipiell ist es aber jederzeit möglich mit anderen Interpretern (Benutzeroberflächen) zu arbeiten, beispielsweise dem NORTON COMMANDER™ oder 4DOS™. Wenn der Befehl in der CONFIG.SYS nicht angegeben wird, Kiermaier (C)1994 17 sucht DOS die Datei COMMAND.COM im Hauptverzeichnis (weil beim Start aktuell). Der Befehl ist außerdem wichtig, wenn mehr Umgebungsspeicher (Environment) eingerichtet werden soll. In diesem Speicher werden alle Variablen und DOS-Einstellungen gespeichert. Er kann an der Eingabeaufforderung mit dem Befehl SET betrachtet werden. Folgendes Beispiel richtet die COMMAND.COM mit 512 Byte für den Environment-Speicher ein. Beispiel: SHELL = C:\COMMAND.COM /e:512 /p STACKS = n,m Als STACK bezeichnet man einen Speicherbereich, in dem alle momentanen Werte, mit denen der Prozessor gearbeitet hat, abgelegt werden. Das ist meistens erforderlich, wenn eine Unterbrechungsanforderung kommt, zum Beispiel ein Wert von der Tastatur gelesen werden soll, oder die Systemuhr aktualisiert werden muß. Nach der Behandlung dieser Routinen werden die vorherigen Werte aus dem STACK wieder eingelesen und weitergearbeitet. Um diesen STACK bereitzustellen, muß dem Befehl STACKS über den Parameter n mitgeteilt werden, wieviele STACK-Speicher angelegt werden sollen. Mit m wird ausgedrückt, wieviel Bytes jeder dieser STACKs umfassen sein soll. Falls WINDOWS installiert ist, wird es für n=9 und für m=512 fordern. Beispiel: STACKS = 9,512 5. BATCH-Dateien Nach dem Bearbeiten der CONFIG.SYS wird die Stapeldatei AUTOEXEC.BAT geladen und ausgeführt. Sie kann leicht mit einem Editor geändert und beliebig mit nachfolgenden Befehlen erweitert werden. Interessanterweise kann man in diesen BATCH-Dateien jederzeit andere Programme aufrufen und so nacheinander ausführen lassen. 5.1. Aufruf und Übergabeparameter Batchdateien werden wie andere Programme mit den Endungen COM und EXE durch Eingabe ihres Names aufgerufen und gestartet. Dabei können ihnen Werte übergeben werden, die als Parameter bezeichnet werden. Diese Parameter können dann von der Batchdatei ausgewertet werden und in die Befehle mitintegriert werden. Dazu werden die übergebenen Werte der Reihe nach in einer der Variablen %1 bis %9 gespeichert. Sind es mehr als 10 Werte, stehen in Parameter %9 alle restlichen. Sie können dort mit dem SHIFT-Befehl erreicht werden. In Parameter %0 steht beim Start der Name der aufgerufenen Batchdatei. Folgende kleine Batchdatei mit dem Namen D.BAT gibt das angegebene Inhaltsverzeichnis und alle Unterverzeichnisse alphabetisch sortiert aus. Schreiben Sie es beispielsweise mit dem DOS Editor durch Eingabe von EDIT D.BAT . Beispiel: @ECHO OFF DIR %1 /O:N /S /P Kiermaier (C)1994 18 Der Aufruf der kleinen Batchdatei erfolgt durch Eingabe von D und der Eingabetaste, wenn das aktuelle Inhaltsverzeichnis ausgegeben werden soll. Dabei wird kein Parameter übergeben, %1 ist dann leer. Sollen aber nur bestimmte Dateien oder ein anderes Verzeichnis angezeigt werden, so erfolgt der Aufruf zum Beispiel durch D \DOS oder D *.COM, usw. 5.2. Befehle für Stapeldateien CALL Batchdatei Soll aus einer Batchdatei eine weitere aufgerufen und später wieder zurückgekehrt werden, so kann dieser Befehl verwendet werden. So kann man sehr komplexe Programme schreiben. Folgendes Beispiel könnte in der AUTOEXEX.BAT stehen und ein BATCH-Datei aufrufen, in der alle Makrodefinitionen stehen, die mit DOSKEY definiert worden sind. Beispiel: CALL MAKRO.BAT CHOICE Text /C:Liste Ab der MS-DOS Version 6.2 kann man mit diesem Befehl in Stapeldateien Eingaben machen. Als Parameter muß lediglich eine Liste der Zeichen angegeben werden, die als Eingabe erlaubt sein sollen. DOS setzt diese Zeichen dann beim Ausführen in eckige Klammern und wartet auf eine korrekte Eingabe. Falsche Tasten werden mit einen Klingelzeichen quittiert. Als Ergebnis wird ein Fehlercode (ERRORLEVEL) zurückgeliefert, dessen Wert der Stelle des Zeichens in der Liste entspricht. Folgendes Beispiel gibt auf dem Bildschirm den Text 'Programm beenden [J,N]?' aus und wartet auf eine Eingabe. Wurde j oder J gedrückt, ist der ERRORLEVEL 1, im anderen Fall für n oder N gleich 2. Beispiel: CHOICE Programm beeenden /C:JN ECHO ON|OFF Schaltet die Bildschirmausgabe des momentanen Befehls vor seiner Bearbeitung ein oder aus. Durch das Ausschalten wird der Bildaufbau übersichtlicher, vor allem wenn eigene Menüs ausgegeben werden. Das Voranstellen des Zeichens @ bewirkt, daß auch der Befehl ECHO selbst nicht ausgegeben wird. Hingegen ist der Wert ON nützlich, wenn nach einem Fehler gesucht wird. Beispiel: @ECHO OFF Folgt der ECHO-Anweisung statt der Parameter ON/OFF ein Text, so wird dieser auf den Bildschirm ausgegeben (unabhängig davon, ob ECHO OFF ist). Man kann damit also beliebige Texte auf dem Bildschirm ausgeben. Will man eine Leerzeile haben, so muß unmittelbar hinter der ECHO-Anweisung ein Punkt folgen. Beispiel: ECHO ***** Auswahlmenü ***** ECHO. Kiermaier (C)1994 19 Mit einer Zuweisung können auch Texte auf den Drucker ausgegeben werden. Es muß dann nur die Zeichenfolge > PRN folgen. Beispiel: ECHO Das geht an den Drucker > PRN FOR %Variable IN (Liste) DO Kommando Mit FOR können Programmabschnitte mehrmals durchlaufen werden, also sogenannte Schleifen programmiert werden. Auf diese Weise können mit einem Befehl unterschiedliche Dateien kopiert, gelöscht oder ausgegeben werden. Als Liste sind Dateinamen anzugeben, wobei Wildcards (* und ?) erlaubt sind. Mehrere Angaben sind dabei durch je ein Leerzeichen zu trennen. Eine Variable besteht aus einem Prozentzeichen und einem beliebigen Buchstaben oder Wort (z.B: %A). In ihr wird die gerade gefundene Datei gespeichert und kann dann vom auszuführenden Befehl, dem Kommando, benutzt werden. Als Befehl kann jedes DOS-Kommando benutzt werden. Sind für die Ausführung des Befehls irgendwelche Übergabewerte erforderlich, so können diese beispielweise mit der Variablen übergeben werden. Der FOR-Befehl kann nicht nur in Batchdateien, sondern auch an der Eingabeaufforderung benutzt werden. Während in Batchdateien die Variable im FOR-Befehl mit zwei Prozentzeichen definiert wird (z.B: %%A), genügt an der Eingabeaufforderung nur eines (z.B: %A). Beispiel in Batchdateien: FOR %%A IN (*.TXT *.DOC) DO TYPE %A FOR %D IN (*.BAT) DO FIND "PROMPT" %D /i Geben Sie ein: ¥ GOTO Marke Es wird ein Sprung zu der Stelle in der Batchdatei ausgeführt, vor der die Marke steht. Eine Marke muß alleine am Anfang der Zeile stehen und hat als erstes Zeichen immer einen Doppelpunkt. Beispiel: :Schleife GOTO Schleife IF ERRORLEVEL Nummer Kommando IF Text1 = = Text2 Kommando IF EXIST Dateiname Kommando Der IF-Befehl dient zum Prüfen des Wahrheitsgehalts einer Bedingung. Falls die angegebene Bedingung erfüllt ist, wird der dahinterstehende Befehl ausgeführt, andernfalls übergangen. Jede Bedingung kann mit dem Schlüsselwort NOT hinter dem IF-Befehl negiert werden. Es sind drei verschiedene Bedingungen möglich: die Prüfung des ERRORLEVELs, der Vergleich zweier Zeichenketten und die Existenz einer Datei. Kiermaier (C)1994 20 Normalerweise dient der ERRORLEVEL als Möglichkeit auf Fehler von Programmen zu reagieren. In Batchdateien läßt er sich aber auch sehr gut zum Erstellen von Auswahlmenüs verwenden. Dazu muß der Befehl CHOICE vorausgehen, der einen Wert (Nummer) zurückliefert, der der Stelle des Zeichens in der Liste entspricht. Dahinter folgt das Kommando, welches ausgeführt wird, wenn die Nummer dem übergebenen Wert entspricht. Meist ist dies ein GOTOBefehl. Beispiel: IF ERRORLEVEL 1 GOTO ANFANG Um zu überprüfen, ob der Batchdatei ein sogenannter Parameter (Werte in den Variablen %1 bis %9) übergeben wurden, kann der Zeichenvergleich dienen. Zu beachten ist, das das Gleichheitszeichen dazwischen doppelt angegeben werden muß. Beispiel: IF NOT "%1" = = "" TYPE %1 Will man wissen, ob eine Datei bereits existiert, bevor man sie lädt, löscht oder anderweitig manipuliert, benutzt man die dritte Möglichkeit. Die angegebene Befehl wird nur dann ausgeführt, wenn die Datei tatsächlich da ist. Der Dateiname kann natürlich auch in einem Parameter (%1 bis %9) stehen. Beispiel: IF EXIST TEXT.BAK DEL TEXT.BAK PAUSE Unterbricht die Ausführung einer Stapeldatei und fordert den Benutzter auf, zur Fortsetzung eine Taste zu drücken. Dazu wird die Meldung 'Eine beliebige Taste drücken, um fortzusetzen' auf den Bildschirm ausgegeben. Praktisch ist dieser Befehl, wenn vorher mit ECHO ein Text ausgegeben wird, der zum Beispiel zum Wechseln der Diskette auffordert. Beispiel: ECHO Wechseln Sie die Diskette in Laufwerk A: PAUSE REM Will man in Batchdateien einen Kommentar einfügen, um beispielsweise einen Befehl zu erklären, muß die REM-Anweisung am Anfang der Zeile stehen. Alles was hinter diesem Befehl steht, wird von DOS nicht beachtet. Man kann mit REM auch beliebige Befehle in Batchdateien vorübergehend ausschalten, indem man REM davor schreibt. Beispiel: REM Dies ist ein Kommentar in Batchdateien SHIFT Die Übergabeparameter %0 bis %9 können mit diesem Befehl beeinflußt werden. Durch diesen Befehl wird Parameter %1 nach %0, %2 nach %1, usw. kopiert. Es wird dadurch möglich, mehr als 9 Parameter auszuwerten oder mit einem einzigen Befehl in einer Schleife nacheinander alle mit Parameter übergebenen Werte zu bearbeiten. Beispiel: @echo off rem KOPIER.BAT hat folgende Syntax: Kiermaier (C)1994 21 rem KOPIER Zielpfad Datei1 Datei2 Datei3 ... set ziel=%1 :schleife shift if "%1"= ="" goto ende copy %1 %ziel% >nil goto schleife :ende set ziel= echo Fertig! 5.3. AUTOEXEC.BAT In dieser Stapeldatei befinden sich zusätzlich einige wichtige DOS-Befehle, die man kennen sollte. Diese Stapeldatei wird immer automatisch beim Start des Systems geladen und ausgeführt. Deshalb können in ihr wichtige Systemeinstellungen vorgenommen werden, die die Arbeit erleichtern. PATH Verzeichnisnamen PATH legt fest, in welchen Verzeichnissen DOS nachsehen soll, um eine ausführbare Datei (also nur COM, EXE und BAT) zu finden. Die Verzeichnisse werden in der angegebenen Reihenfolge durchsucht, deshalb sollte das Verzeichnis in dem am häufigsten gesucht wird als erste Angabe hinter PATH stehen. Beispiel: PATH C:\DOS;D:\WINDOWS;F:\ SET Variable = Wert Dieser Befehl kann Variable des Umgebungsspeichers mit einem Wert belegen. Später kann jedes Programm diese Werte abfragen und so auf gewünschte Art und Weise reagieren. Es sind unter anderem folgende Variable möglich: SET COMSPEC = c:\command.com SET DIRCMD = /p/o:n SET TEMP = E:\ PROMPT Text setzt bei Diskettenstart den Kommandointerpreter auf Laufwerk C: fest (dadurch entfällt das ständige Diskettenwechseln) bedeutet, daß das Inhaltsverzeichnis nach Namen geordnet und seitenweise ausgegeben wird. legt fest, daß temporäre Dateien auf E: (z.B. RAM-Laufwerk) abgelegt werden sollen (Geschwindigkeit!) Parameter Der Befehl stellt ein, was als Eingabeaufforderungszeichen erscheinen soll. Dazu gibt es eine Reihe von Parametern, welche, von einen Dollarzeichen angeführt, dahinter angegeben werden können. Üblich sind dabei die beiden Werte $p$g, um den aktuellen Pfad und das Größerzeichen auszugeben. Andere Parameter sind: $p Akt. Laufwerk und Verzeichnis $t aktuelle Uhrzeit Kiermaier $g $v $q (C)1994 Größerzeichen (">") DOS-Versionsnummer Gleichheitszeichen ("=") $d $_ $e 22 aktuelles Datum neue Zeile Escapezeichen Sequenz für ANSI- Folgendes Beispiel gibt in jeweils einer Zeile die Uhrzeit, das Datum und den aktuellen Pfad aus. Geben Sie ein: PROMPT Uhrzeit: $t$_Datum: $d$_$p$g ¥ Mithilfe der ANSI-Sequenzen können auch farbige Ausgaben erfolgen oder die Ausgabeposition frei gewählt werden (ANSI.SYS muß geladen sein). Dazu muß die Zeichenfolge $e[ benutzt werden. Dahinter steht einer der ANSI-Befehle (siehe ANSI-Sequenzen). Kiermaier (C)1994 23 6. Die ANSI-Sequenzen Die Datei CONFIG.SYS enthält oft einen Gerätetreiber mit dem Namen ANSI.SYS. Wenn dieses Programm installiert ist, stehen viele Funktionen wie beliebige Cursorbewegungen, Bildschirmeinstellungen und Tastaturumbelegungen möglich. Die jeweilige Funktion wird dabei durch eine einfache Textausgabe auf den Bildschirm oder zum Beispiel mit dem PROMPTBefehl bewerkstelligt. Um aber einen ANSI-Befehl von normalem Text unterscheiden zu können, muß ein spezieller Code vereinbart werden. Dies sind die sogenannten EscapeSequenzen (zu deutsch: Fluchtsequenz oder besser Escape-Steuercodes). Sie werden so genannt, weil sie mit einem ESC-Zeichen (ASCII-Code 27) eingeleitet werden. Auf das ESC-Zeichen folgt immer die eckige Klammer "[". Beide zusammen ergeben die Escape-Sequenz, die vor jedem Steuerbefehl angegeben sein muß. Da das ESC-Zeichen selbst meist nicht in einem Editor oder in der Befehlszeile eingegeben werden kann (nicht druckbares Steuerzeichen), werden manchmal Ersatzzeichenfolgen wie "$e" verwendet. 6.1. Cursor- und Bildschirmsteuerung Um den Cursor an eine bestimmte Stelle zu bewegen oder die Bildschirmfarben zu ändern, stehen viele Escape-Sequenzen zur Verfügung. Einige davon (die wichtigsten) werden nachfolgend aufgeführt. Dabei steht die Zeichenfolge ESC[ für die ANSI-Startsequenz, also das Escapezeichen (ASCII-Code 27) und die offene, eckige Klammer. Dahinter folgen ein oder mehrere Parameter, die durch einen Strichpunkt getrennt werden und ein Steuerkommando. Das Steuerkommando besteht aus einem einzelnen Buchstaben, wobei auf die Groß- und Kleinschreibung geachtet werden muß. ESC[y;xH ESC[s ESC[u ESC[2J ESC[vc;hc;am Cursor bei x,y positionieren Cursorposition speichern Cursorposition wiederherstellen Bildschirm löschen (CLS) Bildschirmattribute ändern x=0..79, y=0..24 vc=Vordergrundfarbe, hc=Hintergrundfarbe, a=Textattribut Um diese Steueranweisungen zu nutzen, kann zum Beispiel der PROMPT-Befehl benutzt werden. Es lassen sich damit sehr komfortable Eingabeaufforderungen erzeugen oder die Hintergrundfarbe des Bildschirms vom tristen Schwarz in eine der anderen Farben ändern. Folgende Tabelle zeigt alle Bildschirmattribute und Farben, die mit der letzten Steuersequenz aus der oben angegebenen Tabelle eingestellt werden können. Farbe Schwarz Rot Grün Gelb Blau Magentarot Cyanblau Vordergr. 30 31 32 33 34 35 36 Hintergr. 40 41 42 43 44 45 46 Textattribute Code Normal 0 Fettdruck (hell) 1 Blinken 5 Invertiert 7 Kiermaier (C)1994 24 Weiß 37 47 Verdeckt 8 Damit kann man zum Beispiel eine farbige Eingabeaufforderung einstellen: Geben Sie ein: PROMPT $e[34;1m$p$g$e[37;0m ¥ Mit zwei Befehlen läßt sich auch der gesamte Bildschirm einfärben: Geben Sie ein: Geben Sie ein: PROMPT $e[44;33;1m$e[2J ¥ PROMPT $p$g ¥ Das nächste Beispiel ist ein wahrer Superprompt, der an der oberen rechten Bildschirmecke immer das aktuelle Datum und die Uhrzeit ausgibt. Geben Sie ein: PROMPT $e[s$e[1;67H$d$e[2;70H$t$e[u$p$g ¥ Nächstes Beispiel färbt Datum und Uhrzeit, sowie das Prompt auch noch farbig ein: Geben Sie ein: PROMPT $e[41;37;1m$e[s$e[1;67H$d$e[2;70H$t$e[u$e[40;34;1m$p$g$e[37;0m ¥ 6.2. Tasten umbelegen Unter Benutzung des PROMPT-Befehls können mit den ANSI-Sequenzen auch Tasten umbelegt oder sogar ganze Befehle auf eine Taste gelegt werden. Dazu muß der Code des Zeichens angegeben werden und das Zeichen oder der Befehl, den diese Taste bewirken soll. Das Steuerkommando hinter dieser Zeichenfolge ist der Buchstabe p. Um zum Beispiel die relativ unbenutzte Taste "#" mit dem häufig gebrauchten Rückschlag "\" zu belegen, ist folgendes zu tun: Geben Sie ein: Geben Sie ein: PROMPT $e["#";"\"p ¥ PROMPT $p$g ¥ Es muß allerdings dazu gesagt werden, daß viele Textverarbeitungsprogramme eine eigene Tastenauswertung besitzen und daher eine solche Umbelegung keine Auswirkung hat. Es können jedoch nicht nur Tastencodes umbelegt werden, sondern auch ganze Befehle einer Taste zugeordnet werden. Besonders geeignet sind dazu die Funktionstasten F10 bis F12, weil sie von DOS nicht anderweitig benutzt werden. Geben Sie ein: Geben Sie ein: PROMPT $e[0;68;"DIR";13p ¥ PROMPT $p$g ¥ Das Beispiel belegt die Taste F10 mit dem DIR-Befehl (F11 = 0;133). Kiermaier (C)1994 25 7. Die DOSSHELL Bisher war man gewohnt, eine Eingabeaufforderung zu sehen und dahinter einen Befehl über die Tastatur einzugeben. Seit MS-DOS 4.0 ist aber im Lieferumfang auch eine grafische Benutzeroberfläche enthalten. Damit ist es (fast) möglich, nur mit der Maus zu arbeiten und alle Aktionen und Vorgänge über grafische Anzeigen und Menüs zu steuern. Mit der Version 5.0 hat sich das Aussehen und die Leistungsfähigkeit dieser Oberfläche noch einmal wesentlich verbessert. Nunmehr steht eine Benutzeroberfläche zur Verfügung, die sich am ehesten noch mit WINDOWS vergleichen läßt. 7.1. Der Aufruf der DOSSHELL Um die DOSSHELL zu starten geben Sie an der Eingabeaufforderung DOSSHELL ein. Geben Sie ein: C:\DOS\DOSSHELL ¥ Es erscheint sofort eine farbige Bildschirmoberfläche mit verschiedenen Symbolen und Menüs. Falls Sie die DOSSHELL zum erstenmal starten oder sie noch nicht anders konfiguriert haben, ist der Textmodus mit 25 Zeilen eingestellt. Dabei wird an oberster Stelle eine Menüleiste mit den Punkten Datei, Optionen, Anzeige, Verzeichnis und Hilfe angezeigt. Darunter befinden sich die Laufwerkssymbole für alle im System befindlichen Laufwerke. Weiter darunter folgt eine Darstellung der Verzeichnisstruktur und rechts daneben der jeweilige Inhalt des aktuellen (farbig unterlegten) Verzeichnisses. In der unteren Bildschirmhälfte folgt dann eine Programmliste, aus der DOS-Programme oder eigene Anwendungen ausgewählt werden können. Im der rechten, unteren Ecke ist außerdem noch die Uhrzeit eingeblendet. 7.2. Ein Menü aus der Menüleiste auswählen Mit der ALT-Taste wird ein Punkt der Menüleiste ausgewählt und farbig unterlegt. Mit den Tasten NACH-RECHTS und NACH-LINKS kann nun einer der Menüpunkte ausgewählt werden. Hat man den gewünschten Menüpunkt eingestellt, klappt die NACH-UNTEN-Taste das Menü auf. Aus diesem Menü kann dann mit Hilfe der Tasten NACH-OBEN und NACH-UNTEN ein beliebiger Punkt ausgewählt werden, sofern er nicht inaktiv ist (leichte graue Schrift). Anstatt mit den Cursortasten zu arbeiten, kann auch ein sogenannter Hotkey betätigt werden. Das ist der andersfarbige Buchstabe im jeweiligen Auswahlbegriff. Sobald man die Taste, die dieser Buchstabe repräsentiert, drückt wird der Befehl aktiviert. Drücken Sie die ALT-Taste und dann die NACH-RECHTS-Taste, um den Menüpunkt OPTIONEN zu erreichen oder drücken Sie die Taste O. Drücken Sie mehrmals die NACH-UNTEN-Taste, bis Sie den Auswahlbegriff FARBSCHEMA erreicht haben oder drücken Sie die Taste F. Wählen Sie mit der Taste NACH-UNTEN eine der Farben EMERALD CITY oder TÜRKIS aus und drücken dann die Eingabetaste. Kiermaier (C)1994 26 So einfach läßt sich die Farbe der Oberfläche ändern. Mit der Maus ist alles noch viel einfacher. Falls eine Maus an Ihrem Computer angeschlossen ist, versuchen sie nachfolgendes Beispiel. Andernfalls vollziehen Sie die Aufgabe mit der Tastatur nach. Zeigen Sie mit der Maus auf den Menüpunkt OPTIONEN und drücken Sie dann die linke Maustaste. Setzen Sie den Mauszeiger auf den Auswahlpunkt ANZEIGEMODUS und drücken wieder die linke Maustaste. Es erscheint ein Auswahlmenü mit dem die Auflösung der Darstellung gewählt werden kann. Sie können nun mit den Tasten NACH-OBEN bzw. NACH-UNTEN weitermachen oder den Mauszeiger auf die sogenannte Bildlaufleiste am rechten Menürand setzen. Die Bildlaufleiste ist ein schmaler senkrechter Bereich, in dem ein Pfeil nach oben und ein Pfeil nach unten weist. Ein hellerer Bereich zeigt, welcher Ausschnitt aus dem Gesamtbereich gerade zu sehen ist. Wenn Sie mit dem Mauszeiger auf einen der beiden Pfeile setzen und die linke Maustaste gedrückt halten, wird sich der Anzeigebereich verschieben, bis Sie das Ende erreicht haben. Setzen Sie den Mauszeiger auf den Nach-Unten-Pfeil und halten die linke Maustaste gedrückt, bis Sie den Auswahlpunkt GRAFIK 34 ZEILEN MITTLERE AUFLÖSUNG sehen Setzen Sie den Mauszeiger auf diesen Auswahlpunkt und drücken wieder die linke Maustaste. Nun werden Sie sehen, daß sich die Anzeige erheblich geändert hat. Zum Beispiel sind die Laufwerke nun als kleine Bilder dargestellt. 7.3. Das aktuelle Laufwerk wechseln Als nächstes soll das Laufwerk gewechselt werden. Sie können dazu die TABULATOR-Taste drücken, um einen der verschiedenen Bildschirmbereiche zu wählen. Wenn Sie die Umschalttaste und die TABULATOR-Taste zugleich drücken, wird wieder der jeweils davor liegende Bereich gewählt. Welcher Bereich gerade aktiv ist, erkennen Sie an der helleren Darstellung des Menübalkens. Drücken Sie mehrmals die TAB-Taste oder SHIFT-TAB, bis ein Laufwerkssymbol hell aufleuchtet und wählen dann mit der NACH-LINKS oder NACH-RECHTS-Taste ein anderes Laufwerk (wenn möglich Laufwerk D:) aus. Anschließend drücken Sie die Eingabetaste. Setzen Sie den Mauszeiger auf anderes Laufwerk, als das farbig unterlegte (wenn möglich Laufwerk D:) und drücken die linke Maustaste. Sie werden sehen, daß nun das neue Laufwerk eingelesen wird und dessen Inhalt in der Anzeige erscheint. Haben Sie eins der Diskettenlaufwerke ausgewählt, kann es sein, daß eine Fehlermeldung erschienen ist. Drücken Sie dann nur die Eingabetaste. Kiermaier (C)1994 27 7.4. Verzeichnis wechseln und Dateien auswählen Drücken Sie die TAB-Taste oder SHIFT-TAB, bis der Verzeichnisbalken hell aufleuchtet Drücken Sie dann die NACH-OBEN oder NACH-UNTEN-Taste, um ein anderes Verzeichnis zu wählen. Das aktuelle Verzeichnis wird jeweils farbig unterlegt. Wählen Sie das Verzeichnis DOS (um Unterverzeichnis zu erreichen drücken Sie die "+"-Taste) Setzen Sie den Mauszeiger auf das Verzeichnis DOS und drücken die linke Maustaste (um Unterverzeichnisse zu erreichen, klicken sie auf das "+"-Zeichen vor dem Verzeichnisnamen) Nun wird sofort der Inhalt des Verzeichnisses DOS angezeigt. Die Anzeige erfolgt in der Regel automatisch alphabetisch sortiert (falls nichts anderes eingestellt). Mindestens eine Datei ist farbig unterlegt. Um eine andere Datei auszuwählen, schaltet man durch Drücken der TAB-Taste in den Dateianzeigebereich (Datei-Menübalken wird hell). Dann wählt man den Cursortasten die gewünschte Datei aus. Drücken Sie die TAB-Taste oder SHIFT-TAB, bis der Datei-Menübalken hell aufleuchtet Setzen Sie den Mauszeiger irgendwo in den Dateianzeigebereich und drücken einmal die linke Maustaste. Drücken Sie die NACH-OBEN oder NACH-UNTEN-Taste, bis NACH-OBEN oder NACH-UNTEN-Taste, bis die Datei ANWINFO.TXT farbig unterlegt ist Suchen Sie mit Hilfe der Bildlaufleiste (Pfeil-Symbole anklicken) die Datei ANWINFO.TXT, setzen den Mauszeiger darauf und drücken einmal die linke Maustaste Die Datei ist nun ausgwählt. Drücken der Eingabetaste oder ein doppeltes Anklicken mit dem Mauszeiger würde die Datei nun starten (wenn es eine ausführbare Datei wäre). Da es sich um eine Textdatei handelt, sehen wir sie uns nur an. Dazu kann man die Taste F9 drücken und mit den Cursortasten den Bildausschnitt verschieben. Drücken Sie die F9-Taste und verschieben Sie den Anzeigebereich mit der NACH-OBEN bzw. NACH-UNTEN-Taste Um die Anzeige der Datei zu beenden, drücken Sie die ESC-Taste Um ein Programm auszuführen, wählen Sie nun die Datei MEM.EXE aus. Nach dem Drücken der Eingabetaste wird die Datei gestartet. Drücken Sie die Cursortasten, bis die Datei MEM.EXE hervorgehoben wird Suchen Sie mit Hilfe der Bildlaufleiste (Pfeil-Symbole anklicken) die Datei MEM.EXE Drücken Sie die Eingabetaste Setzen Sie den Mauszeiger auf die Datei und drücken zweimal kurz hintereinander die linke Maustaste 7.5. Kopieren, Verschieben und Löschen von Dateien Kiermaier (C)1994 28 Mit der DOSSHELL beliebige Dateien zu kopieren ist eigentlich nicht schwer. Zuerst müssen die zu kopierenden Dateien ausgewählt werden. Dazu drückt man wieder die TAB-Taste, bis der Dateianzeigebalken hell aufleuchtet. Dann sucht man mit Hilfe der Cursortasten die erste gewünschte Datei. Sollen weitere Dateien ausgewählt werden, müssen zunächst die UmschaltTaste und F8 gedrückt werden. Darauf erscheint in der Statusanzeige die Meldung 'ERWEIT'. Nun können mit der NACH-OBEN und NACH-UNTEN-Taste weitere Datei ausgewählt und mit der Leertaste markiert werden. Nach dem Markieren öffnet man entweder den Menüpunkt DATEI oder man drückt einfach die Taste F8. In das dann offene Dialogfenster schreibt man nur den Zielpfad und betätigt die Eingabetaste. Drücken Sie die TAB-Taste oder SHIFT-TAB, bis der Datei-Menübalken hell aufleuchtet Drücken Sie die Cursortasten, bis die Datei DOSSHELL.COM hervorgehoben wird Drücken Sie die Umschalttaste und F8 gleichzeitig Wählen Sie mit Hilfe der Cursortasten und der Leertaste alle Dateien aus, deren Name DOSSHELL lautet Drücken Sie nun die Taste F8 und schreiben in das Dialogfeld den Pfad C:\, anschließend drücken Sie die Eingabetaste Mit der Maus geht alles noch viel einfacher. Man setzt dazu nur den Mauszeiger auf die erste auszuwählende Datei und klickt sie mit der linken Maustaste an. Dann drückt man die STRGTaste und wählt auf die gleiche Art zusätzlich jede beliebige andere Datei aus. Zum Kopieren kann man ebenfalls die Taste F8 drücken oder viel eleganter eine der ausgewählten Datei anklicken (dabei den Finger nicht von der Maustaste nehmen!), die STRG-Taste gedrückt halten und nun den Mauszeiger einfach nach links auf das Zielverzeichnis setzen. Unten in der Statuszeile wird dann angezeigt 'Datei(en) nach ... kopieren'. Am Zielverzeichnis läßt man die Maustaste los und die Datei werden kopiert. Eventuell öffnet sich ein Dialogfenster, um noch einmal nachzufragen, drücken Sie dann nur die Eingabetaste. Setzen Sie den Mauszeiger irgendwo in den Dateianzeigebereich und drücken einmal die linke Maustaste. Suchen Sie mit Hilfe der Bildlaufleiste (Pfeil-Symbole anklicken) die Datei DOSSHELL.VID und klicken sie mit der linken Maustaste an. Halten Sie nun die STRG-Taste gedrückt und wählen Sie alle weiteren Dateien mit dem gleichem Namen aus. Nun setzen Sie den Mauszeiger auf eine der ausgewählten Dateien und halten die linke Maustaste gedrückt. Drücken Sie dann die STRG-Taste und bleiben darauf. Ziehen Sie jetzt den Mauszeiger auf das Verzeichnis C:\ und lassen Sie den Mausknopf los Nun sind alle DOSSHELL-Dateien kopiert, kontrollieren Sie das, indem Sie ins Verzeichnis C:\ wechseln. Eventuell müssen Sie dazu nocheinmal das Laufwerk einlesen, um die Einträge zu aktualisieren (siehe Laufwerksauswahl). Um Dateien zu verschieben (das heißt: kopieren und am alten Ort löschen), gehen Sie genauso vor, wie zum Kopieren der Dateien. Nur drücken Sie statt der F8-Taste F7. Ebenso funktioniert dies mit der Maus. Sie brauchen dann nicht die STRG-Taste drücken, wenn Sie die Dateien auf das neue Verzeichnis ziehen. Kiermaier (C)1994 29 Um Dateien zu löschen, gehen Sie prinzipiell genauso vor, um die Dateien auszuwählen und drüc??ken dann einfach die ENTF-Taste. Daraufhin werden alle ausgewählten Dateien gelöscht. Wählen Sie, wie oben beschrieben, alle Dateien in C:\ aus, deren Name DOSSHELL lautet und drücken dann die ENTF-Taste. Wählen Sie, wie oben beschrieben, alle Dateien in C:\ aus, deren Name DOSSHELL lautet und drücken dann die ENTF-Taste. 7.6. Arbeiten mit der Programmliste Das untere Drittel des Bildschirms zeigt eine Programmliste. Darin enthalten sind Angaben zu verschiedenen Programmen, wie den Editor, die Eingabeaufforderung, etc. Angaben in eckigen Klammern, wie zum Beispiel [DIENSTPROGRAMME] sind eigene Menüpunkte, die noch einmal weitere Programmangaben enthalten. Mit der TAB-Taste kann dieser Bereich angewählt werden oder indem man einen der aufgeführten Programmpunkte mit dem Mauszeiger markiert und die linke Maustaste drückt. Um zum Beispiel den DOS-Editor zu starten, geht man so vor: Drücken Sie erst die TAB-Taste, bis der Balken für die Programmauswahl hell aufleuchtet und wählen Sie dann mit den Cursortasten den Punkt EDITOR aus. Drücken Sie dann die Eingabetaste Setzen Sie den Mauszeiger auf EDITOR und drücken zweimal kurz hintereinander die linke Maustaste Daraufhin wird ein Dialogfenster geöffnet. Darin werden Sie aufgefordert, den Namen der zu bearbeitenden Textdatei anzugeben. Geben Sie den Namen C:\DOS\TEST.BAT ein und drücken Sie dann die Eingabetaste. Es erscheint die schon bekannte Oberfläche des Editors. Wir könnten nun ein kleines BATCH-Programm schreiben: @ECHO OFF CLS C:\DOS\MEM /C | MORE Speichern und beenden Sie dann den Editor (Menü Datei). Dieses von uns geschriebene Programm soll nun selbst in die Programmliste eingetragen werden. Wählen Sie dazu den Menüpunkt DATEI aus (mit ALT-Taste oder durch Mausklick). Nach dem Öffnen des Menüpunkt wählen Sie den ersten Punkt NEU. Drücken Sie die Eingabetaste oder klicken Sie mit der Maus kurz doppelt auf den Auswahlpunkt NEU. Es erscheint wieder ein Dialogfenster, in dem Sie gefragt werden, ob dies ein neues Programm oder eine neue Gruppe (wie DIENSTPROGRAMME) sein soll. Sie wählen daraufhin PROGRAMM (nur die Eingabetaste drücken oder mit der Maus auf OK klicken). In dem nun folgenden Dialogfenster muß eine Menge ausgefüllt werden. Am besten Sie beginnen mit dem Programmtitel. Schreiben Sie in das Feld den Text 'Speicher ansehen' und drücken dann die TAB-Taste. Sie befinden sich dann im Feld Befehle, in das Sie nun eintragen: 'C:\DOS\TEST.BAT'. Abschließend drücken Sie die Eingabetaste oder klicken mit dem Mauszeiger auf die OK-Fläche. Kiermaier (C)1994 30 Nun sehen Sie Ihren eigenen Programmpunkt mit in der Liste stehen und können ihn jederzeit aufrufen. Kiermaier (C)1994 31 8. Neuheiten bei MS-DOS 5.0 und 6.x 8.1. Der HELP-Befehl Bereits seit MS-DOS Version 5.0 steht Ihnen eine ONLINE-Hilfe zur ständigen Verfügung. Sie brauchen nur an der Eingabezeile den Befehl HELP und dahinter das Thema, über das sie informiert werden möchten, eingeben und dann die Eingabetaste drücken. Wurde das Thema gefunden, erscheint es sofort in der Anzeige. Man kann sich darin meist auch Beispiele und Anmerkungen ansehen. 8.2. Mehrfachkonfigurationen Ab MS-DOS 6.0 können auch mehrere Konfigurationen eingerichtet werden und nach dem Starten über ein Bildschirmmenü ausgewählt werden. Dazu müssen in der CONFIG.SYS folgende Befehle benutzt werden: Beispiel: [MENU] MENUCOLOR 14,2 MENUITEM = DOS MENUITEM = WINDOWS MENUITEM = SPIELE legt den Menübereich fest stellt die Vordergrund- und Hintergrundfarbe ein Menüpunkt DOS einrichten Menüpunkt WINDOWS einrichten Menüpunkt SPIELE einrichten Jeder Menuitem muß dann später mit seiner eigenen Konfiguration folgen. Davor steht immer die Bezeichnung dieses Menüpunkts in eckigen Klammern. Beispiel: [DOS] rem Konfiguration für DOS.... [WINDOWS] rem Konfiguration für WINDOWS... Beim Starten des Computers wird dann das Menü in der gewünschten Farbe ausgegeben und mit Zifferpunkten versehen. Die Eingabe einer dieser Ziffern wählt die dann gültige Konfiguration aus. DOS speichert den Menüpunkt im Umgebungsspeicher in der Variablen %CONFIG%. Damit kann in der nachfolgenden AUTOEXEC.BAT ebenfalls mit Hilfe des Sprungbefehls GOTO %CONFIG% zu der jeweiligen Marke (Menüpunkt) gesprungen und eine spezielle Behandlung gestartet werden. In die AUTOEXEC.BAT müssen also folgende Befehle vorkommen: GOTO %CONFIG% :DOS rem DOS einrichten ... :WINDOWS Kiermaier (C)1994 32 rem WINDOWS einrichten ... Für den Punkt MENUCOLOR kann aus folgender Tabelle ausgewählt werden: Code 0 1 2 3 4 5 Farbe schwarz blau grün cyanblau rot karmesinrot Code 8 9 10 11 12 13 6 7 braun weiß 14 15 Farbe grau leuchtend blau leuchtend grün leuchtend cyanblau leuchtend rot leuchtend karmesinrot gelb strahlend weiß 8.3. Festplattenoptimierer: SCANDISK/DEFRAG Neben den wichtigsten Befehlen, die die Arbeitszeit des Prozessors verkürzen, kann auch für die Festplatte einiges getan werden. Regelmäßig sollten mit einem Defragmentierer (z.B. DEFRAG, ab MS-DOS 6.0) oder mit Hilfe des NORTON Tools SPEEDDISK und CELEBRATE Dateien zusammengefaßt werden. Dadurch erhöht sich die Zugriffsgeschwindigkeit im Vergleich zu 'zerstückelt' abgelegten Dateien erheblich. Seit MS-DOS 6.2 ist auch ein Programm enthalten, das einen nicht zerstörerischen Oberflächentest durchführt und dabei die Festplatte repariert bzw. verlorengegangene Dateien wiederfindet und eventuell löscht. Danach ist meist wieder mehr Platz auf der Festplatte verfügbar und das System auch wieder etwas schneller geworden. SCANDISK sollte in regelmäßigen Abständen durchgeführt werden. Falls man noch nicht Besitzer der Version 6.2 ist, kann man ähnliche Erfolge mit dem Reparaturbefehl CHKDSK C: /F erreichen. 8.4. MEMMAKER Um die Performance seines Computers zu erhöhen kann seit MS-DOS 5.0 das Programm MEMMAKER benutzt werden. Dieses Programm startet den Computer mehrmals neu und versucht dabei Programme in den UPPER MEMORY zu laden. Allerdings funktioniert dieses Programm nicht ganz so fehlerfrei, wie man es gerne hätte. Vor allem bei Mehrfachkonfigurationen versagt es total, weil es immer nur eine Konfiguration berücksichtigt. Bevor man zu diesem Hilfsmittel greift, sollte man zuerst die manuellen Möglichkeiten ausschöpfen. Dazu gehört es zum Beispiel, alle unnötigen Treiber und Installationen aus der CONFIG.SYS und der AUTOEXEC.BAT zu entfernen. Das spart meist schon eine Menge Speicher. Mit dem Befehl MEM kann nachgesehen werden, ob noch UPPER MEMORY frei ist, um mit LOADHIGH oder DEVICEHIGH Treiber nach oben zu laden. Kiermaier (C)1994 33 Hat man nur eine Konfiguration, so kann man MEMMAKER ohne Probleme benutzten. Mehrfachkonfigurationen werden so aufgeteilt, daß sich jeweils eine Einzelkonfiguration ergibt, dann mit MEMMAKER optimiert und zum Schluß wieder zusammengefügt. 9. Das DEBUG-Dienstprogramm Das DEBUG-Dienstprogramm ist nicht nur ein Werkzeug für Spezialisten, wie oft behauptet wird, sondern es ermöglicht auch dem Normalanwender hervoragende Möglichkeiten, Dateien und Programme anzusehen und zu manipulieren. Dazu stehen eine Reihe von Befehlen zur Verfügung, die alle mit einem Buchstaben beginnen und dahinter ein oder mehrere Parameter erfordern. Davon wollen wir einige wenige benutzen und so einen kleinen Einblick in die geheimnisvolle Welt hinter den Dateinamen tun. Wir schreiben uns dazu ein kleines Programm, das den CHOICE-Befehl von DOS 6.x auch für DOS 5.0 Programme zur Verfügung stellt. Wir schreiben das Programm in ASSEMBLER, also der Maschinensprache, mit der der Computer arbeitet. Rufen Sie dazu das Programm DEBUG.EXE auf: Geben Sie ein: DEBUG ¥ Es erscheint ein kleines Minuszeichen als Eingabeaufforderung. Nun starten wir den Assembler. Geben Sie ein: a100 ¥ Es erscheint die Speicheradresse 100. Dahinter tippen Sie das folgende Programm ab. mov ah,7 int 21 and al,f mov ah,4c int 21 ¥ ¥ ¥ ¥ ¥¥ Nun steht wieder das Minuszeichen da. Die Befehle bewirken nur, daß von der Tastatur eine Zahl eingelesen wird und ein Code zwischen 0 und 15 als ERRORLEVEL zurückgegeben wird. Um uns die Befehle nocheinmal anzusehen, geben Sie 'u100' ein. Geben Sie ein: u100 ¥ Alle Befehle werden nocheinmal angezeigt. Beachten Sie, daß nach den eingegebenen auch weitere Befehle enthalten sind. Dies ist kein Programm, sondern nur zufällige Speicherinhalte. Der Prozessor interpretiert sie trotzdem als Programm. Wenn der Rechner 'abstürzt', führt er meist solche sinnlosen Befehle aus, bis er neu gestartet wird. Im Speicher des Computers sind meist auch Texte enthalten, man kann sie mit dem Befehl D ansehen. Geben Sie ein: d0 L6000 ¥ Kiermaier (C)1994 34 Um unser Programm zu speichern, geben wir ihm den Namen INPUT.COM. Geben Sie ein: nC:\DOS\INPUT.COM ¥ Dann speichern und beenden wir den Debugger mit den Tasten W (=write) und Q (=quit). Geben Sie ein: Geben Sie ein: Geben Sie ein: Geben Sie ein: rcx 10 w q ¥ ¥ ¥ ¥ Folgendes Beispielprogramm zeigt die Anwendung unseres neuen Befehls. Sie können es im DOS-Editor abtippen und unter AUSWAHL.BAT speichern. @ECHO OFF CLS ECHO ***** AUSWAHL - MENÜ ***** ECHO. ECHO 1 = erstes Programm ECHO 2 = zweites Programm ECHO 3 = Ende ECHO. ECHO Bitte wählen: :ANFANG INPUT IF ERRORLEVEL = 4 IF ERRORLEVEL = 3 IF ERRORLEVEL = 2 IF ERRORLEVEL = 1 GOTO ANFANG GOTO GOTO GOTO GOTO :PROG1 ECHO Das erste Programm GOTO ENDE :PROG2 ECHO Das zweite Programm GOTO ENDE :ENDE ECHO Auf Wiedersehen ANFANG ENDE PROG2 PROG1 Kiermaier (C)1994 ANHANG: Musterdatei: CONFIG.SYS (ab MS-DOS 5.0) (Festplatte mit 210 MB aufgeteilt in drei Partitionen → C:, D: und E:, RAMFLOPPY = F:) DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE NOEMS AUTO DOS=HIGH,UMB BUFFERS=40,8 FILES=30 LASTDRIVE=G COUNTRY=049,,C:\DOS\COUNTRY.SYS DEVICE=C:\DOS\SMARTDRV.SYS 2048 512 DEVICEHIGH =C:\DOS\UTILS\MOUSE\MOUSE.SYS BON BHIGH DEVICEHIGH =C:\DOS\ANSI.SYS DEVICEHIGH =C:\DOS\RAMDRIVE.SYS 1500 /E STACKS=9,256 Musterdatei: AUTOEXEC.BAT (ab MS-DOS 5.0) (Variablen SOUND und BLASTER werden von der SOUNDBLASTER-Karte eingerichtet) @ECHO OFF PROMPT $e[34;1m$p$g$e[37;0m SET DIRCMD = /p/o:n SET BLASTER=A220 I5 D1 T3 SET SOUND=C:\SB LH C:\DOS\KEYB GR, , C:\DOS\KEYBOARD.SYS LH C:\DOS\DOSKEY PATH F:\;C:\DOS;D:\WINDOWS SET TEMP=f:\ C:\DOS\DOSSHELL 35 Kiermaier Musterdatei: (C)1994 CONFIG.SYS (ab MS-DOS 6.0) (Festplatte mit 210 MB aufgeteilt in drei Partitionen → C:, D: und E:, RAMFLOPPY = F:) (UMB-Bereich /L:1, bzw. /L:2 ermittelt mit MEM /F/P) DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE NOEMS AUTO DOS=HIGH,UMB BUFFERS=40,8 FILES=30 LASTDRIVE=G COUNTRY=049,,C:\DOS\COUNTRY.SYS [MENU] MENUCOLOR 14,1 MENUITEM = DOS MENUITEM = WINDOWS MENUITEM = SPIELE [DOS] DEVICEHIGH /L:2,28560 =C:\DOS\UTILS\MOUSE\MOUSE.SYS BON BHIGH DEVICEHIGH /L:2,9088 =C:\DOS\ANSI.SYS DEVICEHIGH /L:2,5984 =C:\DOS\RAMDRIVE.SYS 1500 /E STACKS=9,256 [WINDOWS] DEVICEHIGH /L:2,28560 =C:\DOS\UTILS\MOUSE\MOUSE.SYS BON BHIGH DEVICEHIGH /L:2,9088 =C:\DOS\ANSI.SYS DEVICEHIGH /L:2,5984 =C:\DOS\RAMDRIVE.SYS 1500 /E STACKS=9,256 [SPIELE] DEVICEHIGH /L:2,28560 =C:\DOS\UTILS\MOUSE\MOUSE.SYS BON BHIGH DEVICEHIGH /L:2,9088 =C:\DOS\ANSI.SYS 36 Kiermaier Musterdatei: (C)1994 AUTOEXEC.BAT (ab MS-DOS 6.0) (Variablen SOUND und BLASTER werden von der SOUNDBLASTER-Karte eingerichtet) @ECHO OFF PROMPT $e[34;1m$p$g$e[37;0m SET DIRCMD = /p/o:n SET BLASTER=A220 I5 D1 T3 SET SOUND=C:\SB LH /L:1,15871 C:\DOS\KEYB GR, , C:\DOS\KEYBOARD.SYS LH /L:1,6528 C:\DOS\DOSKEY GOTO %CONFIG% :DOS PATH F:\;C:\DOS;D:\WINDOWS SET TEMP=f:\ C:\DOS\SMARTDRV.EXE 2048 512 /L /X C:\DOS\DOSSHELL GOTO ENDE :WINDOWS PATH F:\;D:\WINDOWS;C:\DOS;D:\WINWORD APPEND /E APPEND F:\;D:\WINDOWS\DOCUMENT;C:\DOS SET TEMP=f:\ C:\DOS\SMARTDRV.EXE 2048 512 /L /X D: CD \WINDOWS WIN : C:\DOS\DOSSHELL GOTO ENDE :SPIELE PATH C:\DOS;E:\ E: SPIELE.BAT :ENDE 37