SHIFT: Modifie la position des paramètres remplaçables dans un fichier de commandes.


... Les exemples pour la commande "SHIFT"
... "SHIFT" Extrait de l'aide de Microsoft Windows
... Informations importantes, conseils pour la commande "SHIFT"

La commande : "SHIFT" est activé Windows 11, 10, .. disponible

Les exemples pour la commande "SHIFT"

Le`SHIFT`La commande dans l’invite de commande Windows est utilisée pour déplacer la position des paramètres dans un fichier batch. Voici quelques exemples d'utilisation du`SHIFT`-Commande: Exemple 1 : Parcourir les paramètres dans un fichier batch :

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

Description : Cet exemple utilise une boucle pour parcourir tous les paramètres d'un fichier batch et les afficher un par un. La commande`SHIFT`est utilisé pour déplacer la position des paramètres. Exemple 2 : somme des paramètres dans un fichier batch :

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

Description : Dans cet exemple, les paramètres sont additionnés dans une boucle. La commande`SHIFT`déplace la position du paramètre, et`SET /A`est utilisé pour mettre à jour le total. Exemple 3 : Travailler avec des boucles imbriquées et 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

Description : Cet exemple montre comment`SHIFT`peut être utilisé dans des boucles imbriquées. La boucle externe traite les paramètres externes tandis que la boucle interne traite les paramètres internes. Exemple 4 : Sauter des paramètres avec SHIFT :

@ECHO OFF
SHIFT
SHIFT
ECHO Troisième Parameter: %1

Description : Ici, les deux premiers paramètres sont utilisés avec deux`SHIFT`les commandes sont ignorées et le troisième paramètre est affiché. Exemple 5 : Vérifier et gérer les paramètres :

@ECHO OFF
:PARAM_LOOP
IF "%1"=="" GOTO END_PARAM
IF /I "%1"=="/DEBUG" (
    ECHO Debug-Mode activé.
    SHIFT
    GOTO PARAM_LOOP
)
ECHO Processus Parameter: %1
SHIFT
GOTO PARAM_LOOP
:END_PARAM

Description : Cet exemple vérifie si le premier paramètre est "/DEBUG". Si tel est le cas, un message est émis et le paramètre est ignoré. Le`SHIFT`La commande est particulièrement utile dans les scripts batch où un nombre variable de paramètres doivent être traités. Noter que`SHIFT`déplace le contenu de la liste des paramètres et réaffecte les positions des paramètres. Il est donc important`SHIFT`Utilisez-le à bon escient et selon la logique de votre script batch.

"SHIFT" Extrait de l'aide de Microsoft Windows

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

C:\\WINDOWS>

Change la position de paramètres remplaçables dans un programme de commandes.

SHIFT [/n]

Si les extensions de commandes sont activées, la commande SHIFT prend en charge
le commutateur /n qui lui indique de commencer le décalage au énième argument,
où n est compris entre 0 et 8. Par exemple :

    SHIFT /2

décalerait %3 en %2, %4 en %3, etc. et laisserait %0 et %1 intacts.

Informations importantes, conseils pour la commande "SHIFT"

Lors de l'utilisation du`SHIFT`commande dans les scripts batch, il y a certains aspects importants à prendre en compte : 1. Perte de paramètres : Si vous`SHIFT`cela déplace la position des paramètres dans la liste des paramètres vers la gauche. Cela signifie que la valeur du premier paramètre (`%1`) par celui du deuxième paramètre (`%2`) est remplacé, le deuxième paramètre devient le troisième (`%3`), et ainsi de suite. La valeur du dernier paramètre (`%9`) est perdu, et la valeur de`%0`(le nom du script) reste inchangé. 2. Nombre de quarts de travail : Vous pouvez`SHIFT`seulement neuf fois dans un script batch car il n'y a que neuf paramètres numériques (`%0`jusqu'à`%9`) donne. Après le neuvième décalage, la valeur du neuvième paramètre reste perdue. 3. SHIFT en boucles : Si vous`SHIFT`dans une boucle, vous devez vous assurer que les conditions sont correctement vérifiées pour éviter une boucle infinie s'il n'y a pas d'autres paramètres.

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

4. SHIFT dans les boucles imbriquées : Si vous`SHIFT`dans les boucles imbriquées, notez que le déplacement des paramètres dans une boucle affecte également les positions des paramètres dans les boucles imbriquées.

@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. Expansion retardée et SHIFT : Si vous`SHIFT`en combinaison avec une expansion retardée (`ENABLEDELAYEDEXPANSION`), noter que`!`n'est pas utilisé pour une expansion retardée`%`.

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

Il est important de considérer l'ordre et la fréquence des`SHIFT`planifiez soigneusement pour vous assurer que les paramètres sont déplacés comme prévu et qu'aucune information n'est perdue. Vérification également des paramètres vides (`IF "%1"==""`) est important pour éviter les boucles infinies.


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



La commande SHIFT - Modifie la position des paramètres remplaçables dans un fichier de commandes.

HTTP: ... console/fr/060.htm
0.093
19444

Download ISS Web Server für das Windows 10 gut und Kostenlos!

Show your own drive icon in the Windows 11, 10, ... Explorer, HDD, SSD, USB!

Windows 11 official rollout update starts in autumn!

Download Free alternative command prompt for Windows 11, 10, ...!

In the file explorer show the libraries under Windows 11 and 10!

Where did my downloads go on Windows 11/10!



(0)