SHIFT: Ændrer placeringen af udskiftelige parametre til batchfiler.


... Eksempler på kommandoen "SHIFT"
... "SHIFT" Uddrag fra Microsoft Windows Hjælp
... Vigtig information, tip til kommandoen "SHIFT"

Kommandoen: "SHIFT" er tændt Windows 11, 10, .. tilgængelig

Eksempler på kommandoen "SHIFT"

Det`SHIFT`kommando i Windows Kommandoprompt bruges til at flytte placeringen af ​​parametre i en batchfil. Her er nogle eksempler på brug af`SHIFT`-Kommando: Eksempel 1: Gentag parametre i en batchfil:

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

Beskrivelse: Dette eksempel bruger en loop til at gentage alle parametre i en batchfil og vise dem én efter én. Kommandoen`SHIFT`bruges til at flytte parametrenes position. Eksempel 2: Sumparametre i en batchfil:

@ECHO OFF
SET I ALT=0
:ADD_LOOP
IF "%1"=="" GOTO END_ADD
SET /A I ALT+= %1
SHIFT
GOTO ADD_LOOP
:END_ADD
ECHO Total: %I ALT%

Beskrivelse: I dette eksempel er parametrene summeret i en loop. Kommandoen`SHIFT`flytter parameterpositionen, og`SET /A`bruges til at opdatere totalen. Eksempel 3: Arbejde med indlejrede løkker og SHIFT:

@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

Beskrivelse: Dette eksempel viser hvordan`SHIFT`kan bruges i indlejrede løkker. Den ydre sløjfe behandler ydre parametre, mens den indre sløjfe behandler de indre parametre. Eksempel 4: Spring parametre over med SHIFT:

@ECHO OFF
SHIFT
SHIFT
ECHO Tredje Parameter: %1

Beskrivelse: Her bruges de to første parametre med to på hinanden følgende`SHIFT`kommandoer springes over, og den tredje parameter vises. Eksempel 5: Kontroller og håndter parametre:

@ECHO OFF
:PARAM_LOOP
IF "%1"=="" GOTO END_PARAM
IF /I "%1"=="/DEBUG" (
    ECHO Debug-Tilstand aktiveret.
    SHIFT
    GOTO PARAM_LOOP
)
ECHO Behandle Parameter: %1
SHIFT
GOTO PARAM_LOOP
:END_PARAM

Beskrivelse: Dette eksempel kontrollerer, om den første parameter er "/DEBUG". Hvis dette er tilfældet, udsendes en meddelelse, og parameteren springes over. Det`SHIFT`kommandoen er især nyttig i batch-scripts, hvor et variabelt antal parametre skal behandles. Noter det`SHIFT`flytter indholdet af parameterlisten og tildeler parameterpositioner igen. Derfor er det vigtigt`SHIFT`Brug klogt og i overensstemmelse med logikken i dit batchscript.

"SHIFT" Uddrag fra Microsoft Windows Hjælp

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

C:\\Windows>

Ændrer placeringen af parametre til en batchfil.

SHIFT

Hvis kommandoudvidelserne er aktiveret, understøtter kommandoen 
SHIFT
parameteren /n, der fortæller kommandoen, at den skal starte 
forskydningen
ved det n'te argument, hvor n kan være mellem nul og otte. 
Eksempelvis vil:

SHIFT /2

forskyde %3 til %2, %4 til %3, osv. og lade %0 og %1 være 
uændret.

Vigtig information, tip til kommandoen "SHIFT"

Ved brug af`SHIFT`kommando i batch-scripts, er der nogle vigtige aspekter at overveje: 1. Parametertab: Hvis du`SHIFT`dette flytter parametrenes position i parameterlisten til venstre. Det betyder, at værdien af ​​den første parameter (`%1`) af den anden parameter (`%2`) erstattes, bliver den anden parameter den tredje (`%3`), og så videre. Værdien af ​​den sidste parameter (`%9`) er tabt, og værdien af`%0`(scriptnavnet) forbliver uændret. 2. Antal vagter: Du kan`SHIFT`kun ni gange i et batchscript, fordi der kun er ni numeriske parametre (`%0`indtil`%9`) giver. Efter det niende skift forbliver værdien af ​​den niende parameter tabt. 3. SHIFT i sløjfer: Hvis du`SHIFT`i en loop, bør du sikre dig, at betingelserne er kontrolleret korrekt for at undgå en uendelig loop, hvis der ikke er andre parametre.

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

4. SKIFT i indlejrede løkker: Hvis du`SHIFT`i indlejrede sløjfer, skal du bemærke, at flytning af parametrene i en sløjfe også påvirker parameterpositionerne i de indlejrede sløjfer.

@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. Forsinket udvidelse og SHIFT: Hvis du`SHIFT`i kombination med forsinket ekspansion (`ENABLEDELAYEDEXPANSION`), Noter det`!`bruges ikke til forsinket udvidelse`%`.

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET COUNT=0
:LOOP
IF "!1"=="" GOTO END_LOOP
SET /A COUNT+=1
SHIFT
GOTO LOOP
:END_LOOP
ECHO Antallet af Parameter: %COUNT%

Det er vigtigt at overveje rækkefølgen og hyppigheden af`SHIFT`planlæg omhyggeligt for at sikre, at parametrene flyttes som forventet, og ingen information går tabt. Kontrollerer også for tomme parametre (`IF "%1"==""`) er vigtigt for at undgå uendelige løkker.


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



Kommando-linje SHIFT - Ændrer placeringen af udskiftelige parametre til batchfiler.

HTTP: ... console/da/060.htm
0.108
18031

Cortana window cannot be closed in Windows 10 / 11?

The appdata directory on Windows 11, 10, ...!

What are the advantages of using the Run Dialog alternative?

Viele Variablen wie Datum, funktionieren nicht im Text-Einfüg Tool!

Problems when running in admin mode as standard user and password!

Example can I paste a signature to WordPad via key shortcut!



(0)