Objet :Permet d'utiliser plus de 10 paramètres dans un fichier batch, ou d'itérer à travers ses paramètres.

 

Format :SHIFT [[-]n | /n ]

 

nNombre de positions à décaler (nombre non signé) ou position du paramètre à supprimer.

 

Utilisation :

 

SHIFT est fourni pour des raisons de compatibilité avec les fichiers batch écrits pour CMD, où il était utilisé pour accéder à plus que la limite de 10 paramètres de CMD. TCC CMD prend en charge 8191 paramètres (%0 à %8190). Il n'est donc pas nécessaire d'utiliser SHIFT pour les fichiers batch fonctionnant exclusivement sous TCC.

 

SHIFT n déplace chacun des paramètres du fichier batch de n positions vers la gauche. La valeur par défaut de n est 1. Par exemple, SHIFT (sans paramètres) fait  passer le paramètre %1 à %0, le paramètre %2 à %1, etc .

 

SHIFT -n déplace les paramètres vers la droite, mais se limite à les ramener à leur position à l'entrée du fichier batch .

 

Cette forme de SHIFT affecte également les paramètres spéciaux %n$, %$ et %# (nombre de paramètres de commande). Toutefois, pour des raisons de compatibilité avec CMD, cette forme de la commande SHIFT ne modifie pas le contenu ou l'ordre des paramètres renvoyés par %*.  Pour plus de détails, voir Paramètres des fichiers batch.

 

Exemples :

 

Créez un fichier batch appelé TEST.BAT :

 

echo %1 %2 %3 %4

shift

echo %1 %2 %3 %4

shift 2

echo %1 %2 %3 %4

shift -1

echo %1 %2 %3 %4

 

L'exécution de la commande ci-dessous produit les résultats suivants :

 

[c:\] test one two three four five six seven

one two three four

two three four five

four five six seven

three four five six

 

SHIFT/n Cette forme de la commande supprime de manière irréversible le paramètre %n de la queue de la commande et décale tous les paramètres initialement situés à sa droite d'une position vers la gauche. Par exemple,

 

shift /2

 

laisse les paramètres %0 et %1 inchangés et déplace la valeur de %3 à la position %2, %4 à %3, etc.

 

Cette forme de MAJ affecte également les paramètres spéciaux %n$, %$ et %# (nombre de paramètres du fichier de lot ). Pour plus de détails, voir Paramètres des fichiers de lots.