shift

Modifie la position des paramètres de lot dans un fichier batch.

Syntax

shift [/n <N>]

Parameters

Parameter Description
/n <N> Spécifie de commencer le décalage au niveau du Nème argument, où N est une valeur comprise entre 0 et 8. Nécessite des extensions de commande, qui sont activées par défaut.
/? Affiche l’aide à l’invite de commandes.

Remarks

  • La commande shift modifie les valeurs des paramètres de lot %0 à %9 en copiant chaque paramètre dans le précédent : la valeur de %1 est copiée dans %0, la valeur de %2 est copiée dans %1, etc. Cela est utile pour écrire un fichier de commandes qui effectue la même opération sur un nombre quelconque de paramètres.

  • Si les extensions de commande sont activées, la commande shift prend en charge l’option de ligne de commande /n . L’option /n spécifie de commencer à décaler au Nième argument, où N est n’importe quelle valeur de 0 à 8. Par exemple, SHIFT /2 décale%3 vers %2, %4 vers %3, et ainsi de suite, et ne %0 et %1 affectés. Les extensions de commande sont activées par défaut.

  • Vous pouvez utiliser la commande shift pour créer un fichier de commandes capable d’accepter plus de 10 paramètres de lot. Si vous spécifiez plus de 10 paramètres sur la ligne de commande, ceux qui apparaissent après le dixième (%9) seront décalés un par un dans %9.

  • La commande shift n’a aucun effet sur le paramètre batch %* .

  • Il n’y a pas de commande de décalage arrière. Une fois que vous avez implémenté la commande shift , vous ne pouvez pas récupérer le paramètre batch (%0) qui existait avant le shift.

Examples

Pour utiliser un fichier de commandes, appelé Mycopy.bat, pour copier une liste de fichiers dans un répertoire spécifique, tapez :

@echo off
rem MYCOPY.BAT copies any number of files
rem to a directory.
rem The command uses the following syntax:
rem mycopy dir file1 file2 ...
set todir=%1
:getfile
shift
if "%1"=="" goto end
copy %1 %todir%
goto getfile
:end
set todir=
echo All done