Finalidad:Restaura la unidad de disco guardada, el directorio, el entorno, el alias local, las listas de funciones y los caracteres especiales, y exporta las variables seleccionadas.

 

Formato:FINALLOCAL [/D] [exportar ...]

 

/D(no restaurar)

 

Ver también: SETLOCAL.

 

Uso:

 

Las SETLOCAL El comando guarda la unidad de disco actual, el directorio predeterminado, todas las variables de entorno, las listas de alias y funciones, la pila de directorios (PUSHD) y el separador de comandos, el carácter de escape, el carácter de parámetro, el separador decimal y el separador de miles. No guarda la lista de funciones definidas por el usuario ni las variables de matriz. ENDLOCAL restaura todo lo que fue guardado por el anterior SETLOCAL comando, excepto como se describe a continuación.

 

Si solo tiene alias y/o funciones globales, SETLOCAL los copiará a una lista local durante la duración de SETLOCAL. El ENDLOCAL coincidente los restablecerá a la lista global. Si tiene alias o funciones tanto locales como globales, ENDLOCAL solo restaurará la lista local (que fue guardada por SETLOCAL).

 

Por ejemplo, este fragmento de archivo por lotes guarda todo, elimina todos los alias para que los alias de usuario no afecten los comandos del archivo por lotes, cambia el disco y el directorio, cambia el separador de comandos, ejecuta un programa y luego restaura los valores originales:

 

setlocal

unalias *

cdd d:\prueba

setdos /c~

programa ~ echo ¡Listo!

endlocal

 

SETLOCAL /ENDLOCAL se puede anidar dentro de un único archivo por lotes de hasta 32 niveles de profundidad. También puede tener múltiples, separados SETLOCAL /ENDLOCAL pares dentro de un archivo por lotes, y los archivos por lotes anidados pueden tener cada uno su propio SETLOCAL /ENDLOCAL. Si no proporciona un ENDLOCAL en el archivo por lotes, TCC lo hará automáticamente cuando salga el archivo por lotes.

 

También puedes usar SETLOCAL y ENDLOCAL en un alias, una función de biblioteca o en la línea de comando. El nivel máximo de anidamiento desde una línea de comando o alias es 32 niveles. A diferencia de los archivos por lotes, usted es responsable de hacer coincidir los SETLOCAL / ENDLOCAL llama desde un alias o línea de comando; TCC no realizará un ENDLOCAL automático.

 

Un ENDLOCAL se realiza automáticamente al final de un archivo por lotes o al regresar de un "GOSUB nombre de archivo". Si invoca un archivo por lotes desde otro sin utilizar LLAMENOS, se finaliza el primer archivo por lotes y se realiza un ENDLOCAL automático; el segundo archivo por lotes hereda la configuración tal como estaba antes de cualquier SETLOCAL.

 

Exportar variables de entorno

 

Se exportan las variables de entorno cuyos nombres se especifican en el comando ENDLOCAL. Esto significa que sus nombres y valores desde el interior del SETLOCAL /ENDLOCAL se colocará en el entorno restaurado, ya sea agregando variables o posiblemente modificándolas. En el siguiente ejemplo, la variable TEST tendrá el valor ABCD después de ejecutado el ENDLOCAL, sin importar cuál fuera su valor, o incluso si no había sido definido previamente:

 

setlocal

establecer prueba = abcd

prueba local final

 

La lista de variables a exportar puede contener comodines. Se exportarán todas las variables que coincidan con el patrón solicitado.

 

Exportando el directorio de trabajo actual

 

Ver opción /D abajo.

 

Opciones:

 

/D(No restaurar el directorio) Exportar el directorio actual: la unidad original y el directorio guardado por SETLOCAL seguirá no ser restaurado.