Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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