El comando: "ENDLOCAL" está activado Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponible
Los ejemplos del comando "ENDLOCAL"
El
`ENDLOCAL`El comando se utiliza en el símbolo del sistema de Windows para terminar las variables de entorno locales asociadas con el
`SETLOCAL`Se inició el comando. Aquí hay unos ejemplos:
Ejemplo 1: Iniciar y detener el entorno local:
@ECHO OFF
SETLOCAL
SET Name=John
ECHO Dentro del entorno local: %Name%
ENDLOCAL
ECHO Fuera del área local: %Name%
Descripción: Este ejemplo inicia un entorno local con
`SETLOCAL`, define una variable local (
`Name`), imprime el valor dentro y fuera del entorno local y luego sale del entorno local con
`ENDLOCAL`.
Ejemplo 2: Uso de ENDLOCAL en un bucle:
@ECHO OFF
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET Counter=%%A
ECHO Dentro del bucle: %Counter%
ENDLOCAL
)
ECHO Fuera del circuito: %Counter%
Descripción: Aquí está
`SETLOCAL`Se utiliza dentro de un bucle para crear un entorno local.
`ENDLOCAL`luego finaliza el entorno local al final de cada iteración del bucle.
Ejemplo 3: entorno local con valor de retorno:
@ECHO OFF
CALL :LocalFunction
ECHO Fuera de funcionamiento: %ReturnValue%
GOTO :EOF
:LocalFunction
SETLOCAL
SET ReturnValue=Este es un valor de retorno
ENDLOCAL & SET ReturnValue=%ReturnValue%
GOTO :EOF
Descripción: Una función (
`:LocalFunction`) creado utilizando un entorno local
`SETLOCAL`comienza y con
`ENDLOCAL`yo envié. El valor de retorno se utiliza fuera de la función.
Ejemplo 4: uso de ENDLOCAL en un archivo por lotes:
@ECHO OFF
CALL :Start
ECHO Fuera de funcionamiento: %GlobalVariable%
GOTO :EOF
:Start
SETLOCAL
SET GlobalVariable=esto es un globale Variable
CALL :InnerFunction
ENDLOCAL & SET GlobalVariable=%GlobalVariable%
GOTO :EOF
:InnerFunction
SET LocalVariable=Este es local Variable
ECHO Dentro de la función: %LocalVariable%
GOTO :EOF
Descripción: Aquí está
`SETLOCAL`en la función principal (
`:Start`) utilizado para crear un entorno local. En esta función una subfunción (
`:InnerFunction`) llamado.
`ENDLOCAL`se utiliza en la función principal para salir del entorno local mientras se actualiza el valor de la variable global.
El
`ENDLOCAL`La declaración finaliza el entorno local y restablece las variables de entorno al valor anterior.
`SETLOCAL`-Dominio. Si desea utilizar una variable de entorno del entorno local fuera de este, debe hacerlo directamente
`ENDLOCAL`hacer. Tenga en cuenta que las variables locales no están disponibles fuera de su entorno local.
"ENDLOCAL" Extracto de la ayuda de Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINDOWS>
Termina la sección de cambios locales de entorno en un archivo
por lotes.
Los cambios de entorno efectuados después de ejecutar ENDLOCAL no
son
específicos del archivo por lotes. Los cambios anteriores no se
restaurarán una vez que el archivo por lotes haya terminado.
ENDLOCAL
Si las extensiones de comando están habilitadas ENDLOCAL cambia
de la manera siguiente:
Si el SETLOCAL correspondiente habilita o deshabilita las
extensiones de
comando usando las nuevas opciones ENABLEEXTENSIONS o
DISABLEEXTENSIONS,
después de ENDLOCAL, el estado habilitado o deshabilitado de las
extensiones
de comando se restaurará al estado anterior a la ejecución del
comando SETLOCAL correspondiente.
Información importante, consejos para el comando "ENDLOCAL"
Al usar el
`ENDLOCAL`comando en el símbolo del sistema de Windows, hay algunos puntos importantes a tener en cuenta:
1.
Variables locales: `ENDLOCAL`finaliza un entorno local y todas las variables locales creadas en ese entorno se descartan. Estas variables están de acuerdo con
`ENDLOCAL`ya no está disponible fuera del entorno localizado.
2.
Valores devueltos: Si desea utilizar valores de un entorno local fuera de este, debe hacerlo inmediatamente después
`ENDLOCAL`-Hacer el mando. Ejemplo:
SETLOCAL
SET LocalVar=Hola
ENDLOCAL & SET OutsideVar=%LocalVar%
3.
Anidado`SETLOCAL`/`ENDLOCAL`: Si usted
`SETLOCAL`utilizado varias veces en un archivo por lotes, cada uno debe
`SETLOCAL`de uno correspondiente
`ENDLOCAL`ser seguido. Cada
`ENDLOCAL`termina el más cercano
`SETLOCAL`-Instrucción.
4.
Herencia de variables: Las variables creadas en un entorno localizado no se heredan en los entornos principales. Los entornos locales normalmente solo son visibles para el proceso por lotes actual.
5.
Orden de ejecución: `ENDLOCAL`se ejecuta en el orden en que
`SETLOCAL`fue llamado. Esto significa que el último entorno localizado es lo primero.
`ENDLOCAL`yo envié.
6.
Archivos por lotes y funciones: En los archivos por lotes, los entornos localizados se suelen utilizar en las funciones. Cuando sales de una función, un
`ENDLOCAL`llevado a cabo a menos que se haya utilizado la función
`GOTO :EOF`o
`EXIT /B`dejar. En este caso es recomendable ingresar manualmente
`ENDLOCAL`para agregar.
7.
Usar en bucles: Si
`SETLOCAL`En un bucle, se crea un nuevo entorno local cada vez que se ejecuta el bucle. Asegúrate de que
`ENDLOCAL`correctamente para garantizar que las variables locales se liberen según sea necesario.
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET LocalVar=Hola
ECHO %LocalVar%
ENDLOCAL
)
8.
Recursos del proceso: El uso de
`SETLOCAL`y
`ENDLOCAL`puede ayudar a conservar los recursos del proceso, especialmente cuando se definen y utilizan muchas variables en un archivo por lotes. Limitar el alcance de las variables a secciones específicas de código permite utilizar los recursos de memoria de manera más eficiente.
En resumen, es importante
`SETLOCAL`y
`ENDLOCAL`debe usarse con cuidado para garantizar que las variables se manejen adecuadamente y los entornos localizados se administren adecuadamente. Esto es particularmente relevante en funciones o scripts por lotes complejos.