SHIFT: Verändert die Position ersetzbarer Parameter in Batchdateien.


 


... Die Beispiele zum Befehl "SHIFT"
... "SHIFT" Auszug aus der Microsoft Windows-Hilfe
... Wichtige Informationen, Tipps zum Befehl "SHIFT"

Der Befehl: "SHIFT" ist auf Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. verfügbar

Die Beispiele zum Befehl "SHIFT"

Der `SHIFT`-Befehl in der Windows-Eingabeaufforderung wird verwendet, um die Position der Parameter in einer Batch-Datei zu verschieben. Hier sind einige Beispiele für die Verwendung des `SHIFT`-Befehls: Beispiel 1: Durch Parameter in einer Batch-Datei iterieren:

@ECHO OFF
:LOOP
IF "%1"=="" GOTO END
ECHO Parameter: %1
SHIFT
GOTO LOOP
:END

Beschreibung: Dieses Beispiel verwendet eine Schleife, um durch alle Parameter in einer Batch-Datei zu iterieren und sie nacheinander anzuzeigen. Der Befehl `SHIFT` wird verwendet, um die Position der Parameter zu verschieben. Beispiel 2: Parameter in einer Batch-Datei summieren:

@ECHO OFF
SET SUMME=0
:ADD_LOOP
IF "%1"=="" GOTO END_ADD
SET /A SUMME+= %1
SHIFT
GOTO ADD_LOOP
:END_ADD
ECHO Summe: %SUMME%

Beschreibung: In diesem Beispiel werden die Parameter in einer Schleife aufsummiert. Der Befehl `SHIFT` verschiebt die Parameterposition, und `SET /A` wird verwendet, um die Summe zu aktualisieren. Beispiel 3: Mit verschachtelten Schleifen und SHIFT arbeiten:

@ECHO OFF
:OUTER_LOOP
IF "%1"=="" GOTO END_OUTER
ECHO Outer Parameter: %1
SHIFT
:INNER_LOOP
IF "%1"=="" GOTO END_INNER
ECHO Inner Parameter: %1
SHIFT
GOTO INNER_LOOP
:END_INNER
GOTO OUTER_LOOP
:END_OUTER

Beschreibung: Dieses Beispiel zeigt, wie `SHIFT` in verschachtelten Schleifen verwendet werden kann. Die äußere Schleife verarbeitet äußere Parameter, während die innere Schleife die inneren Parameter verarbeitet. Beispiel 4: Überspringen von Parametern mit SHIFT:

@ECHO OFF
SHIFT
SHIFT
ECHO Dritter Parameter: %1

Beschreibung: Hier werden die beiden ersten Parameter mit zwei aufeinanderfolgenden `SHIFT`-Befehlen übersprungen, und der dritte Parameter wird angezeigt. Beispiel 5: Parameter überprüfen und behandeln:

@ECHO OFF
:PARAM_LOOP
IF "%1"=="" GOTO END_PARAM
IF /I "%1"=="/DEBUG" (
    ECHO Debug-Modus aktiviert.
    SHIFT
    GOTO PARAM_LOOP
)
ECHO Verarbeite Parameter: %1
SHIFT
GOTO PARAM_LOOP
:END_PARAM

Beschreibung: In diesem Beispiel wird überprüft, ob der erste Parameter "/DEBUG" ist. Wenn dies der Fall ist, wird eine Meldung ausgegeben, und der Parameter wird übersprungen. Der `SHIFT`-Befehl ist besonders nützlich in Batch-Skripten, in denen eine variable Anzahl von Parametern verarbeitet werden muss. Beachte, dass `SHIFT` den Inhalt der Parameterliste verschiebt und Parameterpositionen neu zuweist. Daher ist es wichtig, `SHIFT` mit Bedacht und entsprechend der Logik deines Batch-Skripts zu verwenden.

"SHIFT" Auszug aus der Microsoft Windows-Hilfe

Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.

C:\\WINDOWS>

Verändert die Position ersetzbarer Parameter in einem Batchprogramm.

SHIFT [/n]

Wenn die Befehlserweiterungen aktiviert sind, unterstützt der SHIFT-Befehl
die /n-Option. Damit wird mit dem Verschieben beim n-ten Argument begonnen,
wobei n zwischen Null und Acht liegt. So wird zum Beispiel durch

SHIFT /2

das Argument %3 nach %2, %4 nach %3 usw. verschoben, während die
Argumente %0 und %1 nicht verschoben werden.

Wichtige Informationen, Tipps zum Befehl "SHIFT"

Beim Verwenden des `SHIFT`-Befehls in Batch-Skripten gibt es einige wichtige Aspekte zu beachten: 1. Parameterverlust: Wenn du `SHIFT` aufrufst, verschiebt dies die Position der Parameter in der Parameterliste nach links. Das bedeutet, dass der Wert des ersten Parameters (`%1`) durch den des zweiten Parameters (`%2`) ersetzt wird, der zweite Parameter wird zum dritten (`%3`), und so weiter. Der Wert des letzten Parameters (`%9`) geht verloren, und der Wert von `%0` (der Skriptname) bleibt unverändert. 2. Anzahl der Verschiebungen: Du kannst `SHIFT` nur neunmal in einem Batch-Skript aufrufen, da es nur neun numerische Parameter (`%0` bis `%9`) gibt. Nach der neunten Verschiebung bleibt der Wert des neunten Parameters verloren. 3. SHIFT in Schleifen: Wenn du `SHIFT` in einer Schleife verwendest, solltest du sicherstellen, dass die Bedingungen richtig überprüft werden, um eine Endlosschleife zu vermeiden, wenn keine weiteren Parameter vorhanden sind.

   @ECHO OFF
   :LOOP
   IF "%1"=="" GOTO END_LOOP
   ECHO Parameter: %1
   SHIFT
   GOTO LOOP
   :END_LOOP
   
4. SHIFT in verschachtelten Schleifen: Wenn du `SHIFT` in verschachtelten Schleifen verwendest, beachte, dass das Verschieben der Parameter in einer Schleife auch die Parameterpositionen in den verschachtelten Schleifen beeinflusst.

   @ECHO OFF
   :OUTER_LOOP
   IF "%1"=="" GOTO END_OUTER
   ECHO Outer Parameter: %1
   SHIFT
   :INNER_LOOP
   IF "%1"=="" GOTO END_INNER
   ECHO Inner Parameter: %1
   SHIFT
   GOTO INNER_LOOP
   :END_INNER
   GOTO OUTER_LOOP
   :END_OUTER
   
5. Verzögerte Expansion und SHIFT: Wenn du `SHIFT` in Kombination mit verzögerter Expansion (`ENABLEDELAYEDEXPANSION`) verwendest, beachte, dass `!` für verzögerte Expansion verwendet wird, nicht `%`.

   @ECHO OFF
   SETLOCAL ENABLEDELAYEDEXPANSION
   SET COUNT=0
   :LOOP
   IF "!1"=="" GOTO END_LOOP
   SET /A COUNT+=1
   SHIFT
   GOTO LOOP
   :END_LOOP
   ECHO Anzahl der Parameter: %COUNT%
   
Es ist wichtig, die Reihenfolge und Häufigkeit von `SHIFT` sorgfältig zu planen, um sicherzustellen, dass die Parameter wie erwartet verschoben werden und keine Informationen verloren gehen. Auch das Überprüfen auf leere Parameter (`IF "%1"==""`) ist wichtig, um Endlosschleifen zu vermeiden.


Deutsch
English
Español
Français
Italiano
日本語 (Nihongo)
한국어 (Hangugeo)
汉语 (Hànyǔ)
Türkçe
Português
Português
Svenska
Norsk
Dansk
Suomi
Nederlands
Polski









Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



Befehl SHIFT - Verändert die Position ersetzbarer Parameter in Batchdateien.

HTTP: ... console/em/060.htm
0.093
18195
Windows 10 / 11 Lautstärkemixer Desktop Verknüpfung erstellen?
Is reserved storage in Windows Updates important?
Downgrade Windows 10 to Windows 7 or 8.1, can I uninstall it?
What is the Windows Start Button?
Ändern des Mauszeigers und der Cursor-Größe unter Windows-10, (kleiner, größer)?
Kann ich beim Klick auf einen Facebook-Link mir einen Virus holen?
Rotate an image under Windows 11, 10, .. etc.?
Is it possible with slmgr -rearm to extend the Windows 10 trial period?
Wie schalte ich den Tabletmodus in Windows 10 ein und aus (Vollbild)?
Can I edit and configure the Windows XP file Boot.ini myself?



(0)