TexteTop
Communauté

Login Membres: 3359


Menu

Liens



flecheCommande SETLOCAL

Type: system

Fonction: Commence la localisation des modifications d'environnement dans un fichier de commandes.

OS: vista

Detail: Commence la localisation des modifications de l'environnement dans un fichie
de commandes. Les modifications d'environnement effectués après SETLOCAL son
locaux au fichier de commandes. Lorsque la fin du fichier de commandes est
atteinte, ENDLOCAL est exécuté pour toutes les commandes SETLOCAL émises
par le fichier de commandes.

SETLOCAL

Si les extensions de commandes sont activées, SETLOCAL est modifié comme
suit :

La commande SETLOCAL accepte maintenant un argument optionnel :
ENABLEEXTENSIONS / DISABLEEXTENSIONS
active ou désactive les extensions de commandes. Entrez
CMD /? pour plus de détails.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
active ou désactive l'expansion des variables d'environnement
retardées. Entrez SET /? pour plus de détails.
Ces modifications sont actives jusqu'à l'exécution de la commande ENDLOCAL
correspondante, sans tenir compte de leur état avant l'instruction SETLOCAL.

La commande SETLOCAL fixera la valeur ERRORLEVEL si elle reçoit
un argument. Ce sera zéro si un des deux arguments valides est donné, et
1 sinon. Vous pouvez vous en servir dans les fichiers de commandes pour
déterminer si les extensions sont disponibles, en utilisant la technique
suivante :

VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Impossible d'activer les extensions

Cela marche, car sur les anciennes versions de CMD.EXE, SETLOCAL NE fixe PAS
la valeur de ERRORLEVEL. La commande VERIFY avec un argument non valide
initialise ERRORLEVEL à une valeur non nulle.