La commande : "ENDLOCAL" est activé Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponible
Les exemples pour la commande "ENDLOCAL"
Le
`ENDLOCAL`La commande est utilisée dans l'invite de commande Windows pour mettre fin aux variables d'environnement locales associées au
`SETLOCAL`la commande a été lancée. Voici quelques exemples:
Exemple 1 : Démarrage et arrêt de l'environnement local :
@ECHO OFF
SETLOCAL
SET Name=John
ECHO Dans l'environnement local: %Name%
ENDLOCAL
ECHO En dehors de la zone locale: %Name%
Description : Cet exemple démarre un environnement local avec
`SETLOCAL`, définit une variable locale (
`Name`), imprime la valeur à l'intérieur et à l'extérieur de l'environnement local, puis quitte l'environnement local avec
`ENDLOCAL`.
Exemple 2 : Utilisation de ENDLOCAL dans une boucle :
@ECHO OFF
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET Counter=%%A
ECHO À l'intérieur de la boucle: %Counter%
ENDLOCAL
)
ECHO En dehors de la boucle: %Counter%
Description : Voici
`SETLOCAL`utilisé dans une boucle pour créer un environnement local.
`ENDLOCAL`termine ensuite l'environnement local à la fin de chaque itération de boucle.
Exemple 3 : environnement local avec valeur de retour :
@ECHO OFF
CALL :LocalFunction
ECHO Hors fonction: %ReturnValue%
GOTO :EOF
:LocalFunction
SETLOCAL
SET ReturnValue=Ceci est une valeur de retour
ENDLOCAL & SET ReturnValue=%ReturnValue%
GOTO :EOF
Description : Une fonction (
`:LocalFunction`) créé à l'aide d'un environnement local
`SETLOCAL`commence et avec
`ENDLOCAL`j'ai envoyé. La valeur de retour est utilisée en dehors de la fonction.
Exemple 4 : Utilisation d'ENDLOCAL dans un fichier batch :
@ECHO OFF
CALL :Start
ECHO Hors fonction: %GlobalVariable%
GOTO :EOF
:Start
SETLOCAL
SET GlobalVariable=c'est un globale Variable
CALL :InnerFunction
ENDLOCAL & SET GlobalVariable=%GlobalVariable%
GOTO :EOF
:InnerFunction
SET LocalVariable=C'est un local Variable
ECHO À l'intérieur de la fonction: %LocalVariable%
GOTO :EOF
Description : Voici
`SETLOCAL`dans la fonction principale (
`:Start`) utilisé pour créer un environnement local. Dans cette fonction, une sous-fonction (
`:InnerFunction`) appelé.
`ENDLOCAL`est utilisé dans la fonction main pour quitter l'environnement local tout en mettant à jour la valeur de la variable globale.
Le
`ENDLOCAL`L'instruction met fin à l'environnement local et réinitialise les variables d'environnement à la valeur avant
`SETLOCAL`-Commande. Si vous souhaitez utiliser une variable d'environnement de l'environnement local en dehors de celui-ci, vous devez le faire directement
`ENDLOCAL`faire. Notez que les variables locales ne sont pas disponibles en dehors de leur environnement local.
"ENDLOCAL" Extrait de l'aide de Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINDOWS>
Arrête la localisation des changements de l'environnement dans un fichier
de commandes. Les changements effectués après ENDLOCAL ne sont pas localisés
au fichier ; les valeurs précédentes ne sont pas rétablies après que le
fichier de commandes ait terminé son exécution.
ENDLOCAL
Si les extensions de commandes sont activées, ENDLOCAL est modifié comme suit :
Si le SETLOCAL correspondant active ou désactive les extensions de commandes
en utilisant les nouvelles options ENABLEEXTENSIONS ou DISABLEEXTENSIONS, alors
après ENDLOCAL, l'état activé/désactivé des extensions de commandes sera
restauré à la valeur qu'il avait avant l'exécution de la commande SETLOCAL
correspondante.
Informations importantes, conseils pour la commande "ENDLOCAL"
Lors de l'utilisation du
`ENDLOCAL`dans l'invite de commande Windows, il y a quelques points importants à noter :
1.
Variables locales : `ENDLOCAL`met fin à un environnement local et toutes les variables locales créées dans cet environnement sont ignorées. Ces variables sont selon
`ENDLOCAL`n'est plus disponible en dehors de l'environnement localisé.
2.
Valeurs de retour : Si vous souhaitez utiliser des valeurs d'un environnement local en dehors de celui-ci, vous devez le faire immédiatement après
`ENDLOCAL`-Faire la commande. Exemple:
SETLOCAL
SET LocalVar=Bonjour
ENDLOCAL & SET OutsideVar=%LocalVar%
3.
Imbriqué`SETLOCAL`/`ENDLOCAL`: Si tu
`SETLOCAL`utilisé plusieurs fois dans un fichier batch, chacun doit
`SETLOCAL`d'un correspondant
`ENDLOCAL`être suivi. Chaque
`ENDLOCAL`termine le plus proche
`SETLOCAL`-Instruction.
4.
Héritage de variables : Les variables créées dans un environnement localisé ne sont pas héritées des environnements parents. Les environnements locaux ne sont généralement visibles que par le processus par lots en cours.
5.
Ordre d'exécution : `ENDLOCAL`est exécuté dans l'ordre dans lequel
`SETLOCAL`a été appelé. Cela signifie que le dernier environnement localisé vient en premier
`ENDLOCAL`j'ai envoyé.
6.
Fichiers batch et fonctions : Dans les fichiers batch, les environnements localisés sont souvent utilisés dans les fonctions. Lorsque vous quittez une fonction, un
`ENDLOCAL`effectué sauf si la fonction a été utilisée
`GOTO :EOF`ou
`EXIT /B`partir. Dans ce cas, il est conseillé de saisir manuellement
`ENDLOCAL`ajouter.
7.
Utiliser en boucles : Si vous
`SETLOCAL`dans une boucle, un nouvel environnement local est créé à chaque exécution de la boucle. Assurez-vous que vous
`ENDLOCAL`correctement pour garantir que les variables locales sont libérées selon les besoins.
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET LocalVar=Bonjour
ECHO %LocalVar%
ENDLOCAL
)
8.
Ressources de processus : L'utilisation de
`SETLOCAL`et
`ENDLOCAL`peut aider à conserver les ressources du processus, en particulier lorsque de nombreuses variables sont définies et utilisées dans un fichier de commandes. Limiter la portée des variables à des sections spécifiques du code permet d'utiliser les ressources mémoire plus efficacement.
En résumé, il est important
`SETLOCAL`et
`ENDLOCAL`être utilisé avec précaution pour garantir que les variables sont gérées correctement et que les environnements localisés sont gérés correctement. Ceci est particulièrement pertinent dans les scripts ou fonctions batch complexes.