| 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 ] |
| n | Nombre 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.