SETLOCAL |
Fixe local |
Windows |
Interne |
Syntaxe
SETLOCAL {ENABLEEXTENSIONS / DISABLEEXTENSIONS} {ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION}
|
Description
Paramètres
Nom |
Description |
ENABLEEXTENSIONS |
Ce paramètre optionnel permet d'indiquer qu'il faut développer les variables au moment de l'exécution plutôt qu'au moment de l'analyse. |
DISABLEDELAYEDEXPANSION |
Ce paramètre optionnel permet d'indiquer qu'il faut développer les variables au moment de l'analyse plutôt qu'au moment de l'exécution. |
ENABLEEXTENSIONS |
Ce paramètre optionnel permet d'indiquer qu'il faut essayer d'activer les extensions de commande. |
DISABLEEXTENSIONS |
Ce paramètre optionnel permet d'indiquer qu'il faut essayez de désactiver les extensions de commande. |
Description
Cette commande permet de sauvegarder les variables d'environnement courante afin qu'il soit restituer par une commande ENDLOCAL.
Remarques
- La commande SETLOCAL sans paramètre, est généralement au début d'un fichier de commandes et commencera la localisation des variables d'environnement.
- En émettant une commande SETLOCAL, le script de commandes héritera de toutes les variables actuelles de l'environnement et de la session maître.
- L'émission d'une commande ENDLOCAL restaurera toutes les variables d'environnement présentes avant l'émission de la commande SETLOCAL.
- Si un script de traitement par lots (Batch) n'utilise pas SETLOCAL, toutes les variables seront globales, c'est-à-dire visibles et modifiables par d'autres scripts.
- Bien que les variables globales soient faciles à utiliser, elles ne constituent pas une bonne pratique, par exemple, si vous avez plusieurs scripts de traitement par lots (Batch)
traitant des noms de fichiers (et que ces scripts s'appellent), le premier script a une variable appelée _filename, le second script une variable différente appelé _filename
(un nom différent pour éviter d'être en conflit avec le premier script) un troisième script a maintenant besoin de quelque chose comme file_name devenant rapidement très difficile à
gérer.
- Avec les variables locales, vous êtes libre d'utiliser les mêmes noms de variables dans plusieurs scripts de traitement par lots (Batch), il n'y a pas de conflit car les variables
locales ne sont visibles par aucun autre script.
- Les variables locales peuvent être passées d'une routine de traitement par lots (Batch) à une autre avec la commande ENDLOCAL.
Variante
Dernière mise à jour : Samedi, le 15 février 2020