1001 Astuces Nam@ni
http://www.namani.net

Shift

 

 

 

Permet d'utiliser plus de 9 paramètres dans un fichier BATCH.

Syntaxe:

SHIFT

 

 

 

Notes:

En règle générale, les fichiers de commande acceptent jusqu'à neuf variables comme dans l'exemple suivant:

 


FOR %%D IN (%1 %2 %3 %4 %5 %6 %7 %8 %9) DO DEL %%D

 

La commande SHIFT vous permet de passer outre et d'utiliser autant de variables que vous souhaitez. Les anciennes variables sont décalées vers la gauche et leurs valeurs copiées dans la variable immédiatement inférieure.

 


AVANT %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
APRES %1 %2 %3 %4 %5 %6 %7 %8 %9 %X

La variable %X peut maintenant recevoir une nouvelle valeur.

 

 

 

Exemple:

Si vous souhaitez supprimer plus de neuf fichiers (bien que cela risque de compliquer l'opération), définissez un fichier de commandes de la façon suivante:

 


@ECHO OFF
:CONTINUER
FOR %%0 IN (%1 %2 %3 %4 %5 %6 %7 %8 %9) DO DEL %%D
SHIFT
IF %1 \=\ GOTO FIN
GOTO CONTINUER
:FIN

 

Cette procédure supprime les neuf paramètres, puis génère une variable de substitution qu'elle intègre en guise de condition. Lorsqu'il n'y a plus aucune variable de substitution, %1 est vide. La condition

 


IF \=\ GOTO FIN

est ainsi réalisée et le fichier de commandes prend fin.

Lorsque vous décalez les variables de remplacement avec la commande SHIFT les valeur éliminées sont irrécupérables.