Befehl: shift

  SHIFT ändert die Position ersetzbarer Parameter einer Stapeldatei.
  SHIFT ist ein BATCH-DATEI / AUTOEXEC.BAT Befehl.

Syntax:

  SHIFT [DOWN]

Optionen:

  DOWN verschiebt das Argumentfenster Richtung Anfang (%0); 
  andernfalls in Richtung Ende.

Kommentar:

  Bei der Verwendung von DOWN nimmt %0 den Wert an, den %1 hatte,
  und so weiter. Andernfalls nimmt %2 den Wert an, den %1 hatte,
  und so weiter.
  SHIFT 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:
  Wenn die Batchdatei B.BAT:
    @ECHO OFF
    ECHO 0: %0
    ECHO 1: %1
    ECHO 2: %2
  wie folgt ausgeführt wird:
    B.BAT 1 2 3 4
    wird angezeigt:

    0: B.BAT
    1: 1
    2: 2

  Wenn ein SHIFT Befehl als zweite Zeile (in B.BAT nach @ECHO OFF)
  eingefügt wird, führt der gleiche Aufruf:
    B.BAT 1 2 3 4
  zu foldender Anzeige:

    0: 1
    1: 2
    2: 3

  Beispiel 2:
  Skript test.bat, führen Sie es wie folgt aus:
    "test 0 1 2 3 4 5 6 7 8 9"

    :START
    cls
    @echo off
    SHIFT
    if %0X==X goto :END
    md folder%0
    echo Der aktuelle SHIFT-Parameter ist: %0
    echo Ordner%0 wurde erstellt.
    echo Die Zahlen gehen aufwärts!
    pause
    goto :START
    :END
    cls
    echo Der SHIFT-Auftrag (Ordner erstellen) ist fertig...
    pause
    cls
    choice /C:JN "Wollen Sie diese Ordner wieder löschen? "

    if errorlevel 2 goto :FINISH
    if errorlevel 1 goto :DELETE

    :DELETE
    cls
    SHIFT DOWN
    if %0X==X goto :END1
    REM Die folgenden zwei Zeilen werden benötigt, da SHIFT den Namen der
    REM Batch-Datei (test oder test.bat) anzeigt!
    if %0X==testX goto :END1
    if %0X==test.batX goto :END1
    rd folder%0
    echo Der aktuelle SHIFT Parameter lautet: %0
    echo Ordner%0 wurde gelöscht.
    echo Die Zahlen gehen abwärts!
    pause
    goto :DELETE

    :END1
    cls
    echo Der SHIFT DOWN Job (Ordner löschen) ist erledigt...
    pause
    cls
    goto :FINISH

    :FINISH
    @echo on
    cls

Siehe auch:

  @(at)
  autoexec.bat/fdauto.bat
  choice
  command.com/freecom
  errorlevel
  Batch Dateien
  echo
  if

  Copyright © 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.