Befehl: goto
GOTO leitet in einer Batch-Datei die Befehlsshell zu einer gekenn-
zeichneten Zeile.
GOTO ist ein BATCH-DATEI / AUTOEXEC.BAT / FDAUTO.BAT Befehl.
Syntax:
GOTO [':'] label
Optionen:
label Spezifiziert eine Zeichenkette, die in einem Stapelverarbei-
tungsprogramm als Sprungmarke verwendet wird. Sowohl
"goto label" als auch "goto :label" funktionieren.
/? Zeigt die Hilfe
Kommentar:
Normalerweise werden alle Befehle eines Batch-Skripts in der Reihen-
folge ausgeführt, in der sie im Skript erscheinen. GOTO steuert den
Befehlsfluss, indem es bedingungslos zum angegebenen Label springt; die
Befehle die diesem Label folgen, werden dann ausgeführt. Ein Label wird
als Doppelpunkt in der ersten Spalte einer Zeile geschrieben und der
Name des Labels unmittelbar dahinter. Wenn FreeCOM im normalen Ablauf
auf ein Label trifft, wird es komplett ignoriert; auch eventuelle
Umleitungszeichen werden nicht beachtet.
Das Label muss sich in der gleichen Skriptdatei befinden wie das GOTO
selbst, wenn es mehr als einmal vorkommt, hat das erste Vorkommen
Vorrang.
Bedingte Sprünge können mit Hilfe des IF-Befehls konstruiert werden,
siehe Beispiel 2.
Der Name des Sprungpunktes sollte nicht zu lang und trotzdem
aussagekräftig sein.
GOTO ist ein interner Befehl, d.h. der Befehl ist in der command.com
enthalten. Es wird zur Ausführung des Befehls kein zusätzlicher
Befehl (Datei) benötigt.
Beispiel:
Beispiel 1:
GOTO ende
ODER:
GOTO :ende (Springt zum Label :ende)
:ende (ab hier werden eventuell vorhandene Befehle weiter ausgeführt)
Beispiel: 2
IF "%1"=="" GOTO emptyCommandLine
Springt zum Label :emptyCommandLine, wenn kein Argument an das
Batch-Skript übergeben wurde. Zum Beispiel:
@ECHO OFF
IF "%1"=="" GOTO error
REM mach hier was vernünftiges
GOTO ende
:error
ECHO Du mußt mir ein Argument übergeben!
:ende
Beispiel 3:
In einer .BAT Dtei / AUTOEXEC.BAT:
if %config%==1 goto DEFRAG
if %config%==2 goto COPY
:DEFRAG
defrag c:
goto END
:COPY
copy xy.txt c:\test\xy.txt
goto END
:END
cls
Beispiel 4:
In einer BATCH Datei:
@ECHO 1 = Tue dies
@ECHO 2 = Tue das
@ECHO 3 = Tue was anderes
@ECHO 4 = Tue nichts
@choice /B /C:1234 /N /S Was wollen Sie tun?
if errorlevel 4 goto TUE_NICHTS
if errorlevel 3 goto TUE_ANDERES
if errorlevel 2 goto TUE_DAS
if errorlevel 1 goto TUE_DIES
:TUE_DIES
deine TUE_DIES-Befehle
goto EXIT
:TUE_DAS
deine TUE_DAS-Befehle
goto EXIT
:TUE_ANDERES
deine TUE_ANDERES-Befehle
goto EXIT
:TUE_NICHTS
deine TUE_NICHTS-BEFEHLE
goto EXIT
:EXIT
(Sprungpunkte können länger sein, aber die ersten 8 Zeichen sollten
nur einmal vorkommen)
Siehe auch:
@ (at)
autoexec.bat/fdauto.bat
Batch Dateien
choice
command.com/freecom
echo
errorlevel
if
Copyright © 2003 Robert Platt, aktualisiert 2007,
2022 und 2024 von W. Spiegl.
Diese Datei ist abgeleitet vom FreeDOS Spezifikationen-HOWTO.
Vgl. auch die Datei H2Cpying bezüglich der Kopierbedingungen.