Objectif :Restaurer le lecteur de disque enregistré, le répertoire, l'environnement, les alias locaux et les listes de fonctions, ainsi que les caractères spéciaux, et exporter les variables sélectionnées

 

Format:ENDLOCAL [/D] [exportvar ...]

 

/D (pas de restauration)

 

Voir aussi: setlocal.

 

Usage:

 

Le setlocal La commande enregistre le lecteur de disque actuel, le répertoire par défaut, toutes les variables d'environnement, les listes d'alias et de fonctions, la pile de répertoires (PUSHD) ainsi que le séparateur de commandes, le caractère d'échappement, le caractère de paramètre, le séparateur décimal et le séparateur de milliers. Il n'enregistre pas la liste de fonctions définies par l'utilisateur ni les variables du tableau. ENDLOCAL restaure tout ce qui a été enregistré par le précédent setlocal commande, sauf dans les cas décrits ci-dessous.

 

Si vous n'avez que des alias et/ou des fonctions globales, SETLOCAL les copiera dans une liste locale pendant la durée de SETLOCAL. Le ENDLOCAL correspondant les réinitialisera dans la liste globale. Si vous disposez d'alias ou de fonctions à la fois locaux et globaux, ENDLOCAL restaurera uniquement la liste locale (qui a été enregistrée par SETLOCAL).

 

Par exemple, ce fragment de fichier batch enregistre tout, supprime tous les alias afin que les alias des utilisateurs n'affectent pas les commandes du fichier batch, modifie le disque et le répertoire, modifie le séparateur de commandes, exécute un programme, puis restaure les valeurs d'origine :

 

setlocal

unalias *

cdd d:\test

setdos /c~

programme ~ echo Terminé !

endlocal

 

setlocal / ENDLOCAL peut être imbriqué dans un seul fichier batch jusqu'à 32 niveaux de profondeur. Vous pouvez également avoir plusieurs setlocal Les paires / ENDLOCAL au sein d'un fichier batch et les fichiers batch imbriqués peuvent chacun avoir leur propre setlocal / ENDLOCAL. Si vous ne fournissez pas de ENDLOCAL dans le fichier batch, TCC le fera automatiquement à la fermeture du fichier batch.

 

Vous pouvez également utiliser setlocal et ENDLOCAL dans un alias, une fonction de bibliothèque ou sur la ligne de commande. Le niveau d'imbrication maximum à partir d'une ligne de commande ou d'un alias est de 32 niveaux. Contrairement aux fichiers batch, vous êtes responsable de faire correspondre les setlocal / ENDLOCAL appelle depuis un alias ou une ligne de commande ; TCC n'effectuera pas un ENDLOCAL automatique.

 

Un ENDLOCAL est effectué automatiquement à la fin d'un fichier batch, ou au retour d'un "GOSUB filename". Si vous appelez un fichier batch à partir d'un autre sans utiliser NOUS CONTACTEZ, le premier fichier batch est terminé et un ENDLOCAL automatique est effectué ; le deuxième fichier batch hérite des paramètres tels qu'ils étaient avant tout setlocal.

 

Exportation de variables d'environnement

 

Les variables d'environnement dont les noms sont spécifiés dans la commande ENDLOCAL sont exportées. Cela signifie que leurs noms et leurs valeurs à l'intérieur du setlocal / ENDLOCAL sera placé dans l'environnement restauré, soit en ajoutant des variables, soit éventuellement en les modifiant. Dans l'exemple ci-dessous, la variable TEST aura la valeur ABCD après l'exécution de ENDLOCAL, quelle que soit sa valeur, ou même si elle n'a pas été définie précédemment :

 

setlocal

définir test = abcd

test local final

 

La liste des variables à exporter peut contenir des caractères génériques. Toutes les variables correspondant au modèle demandé seront exportées.

 

Exportation du répertoire de travail actuel

 

Voir l'option /D ci-dessous.

 

options:

 

/D(Ne pas restaurer le répertoire) Exporter le répertoire actuel : le lecteur et le répertoire d'origine enregistrés par setlocal sera ne sauraient être restauré.