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.