LA COMMANDE SHIFT
Commande interne. Ne fonctionne que dans un batch.
Change (ou plus exactement decale) la position des parametres remplacables dans un batch
Syntaxe
SHIFT
Exemple
Le fichier de commandes suivant, COPIPROC.BAT, montre comment utiliser SHIFT avec un nombre quelconque de parametres. La commande copie une liste de fichiers dans un repertoire donne. Les parametres sont le nom du repertoire suivi d'un nombre quelconque de noms de fichier.
@echo off
rem COPIPROC.BAT copie
rem un nombre indetermine de fichiers
rem dans un repertoire.
rem La commande utilise la syntaxe:
rem copiproc repertoire fichier1 fichier2...
set versrep=%1
:COPIE
shift
if "%1"=="" goto FIN
copy %1 %versrep%
goto COPIE
:FIN
set versrep=
echo Copie terminee
Fonctionnement de la commande SHIFT
La commande SHIFT change les valeurs des parametres remplacables %0 a %9 en copiant chaque parametre dans le precedent. En d'autres termes, la valeur de %1 est copiee dans %0, celle de %2 dans %1, et ainsi de suite. Cette technique facilite la creation de fichiers de commandes qui effectuent la meme operation sur un nombre quelconque de parametres.
Fonctionnement de la commande SHIFT avec plus de 10 parametres
Vous pouvez aussi utiliser la commande SHIFT pour creer un fichier de commandes qui accepte plus de dix parametres. S'il y a plus de dix parametres dans une ligne de commande, ceux qui se trouvent apres le dixieme (position %9) sont decales un par un afin d'occuper la position %9.
Redeplacement des parametres
Aucune commande n'annule l'effet de SHIFT. Une fois la commande executee, vous ne pouvez plus recuperer le premier parametre (%0) qui existait avant le deplacement.