Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Inicia la localización de variables de entorno en un archivo por lotes. La localización continúa hasta que se encuentra un comando de final coincidente o se alcanza el final del archivo por lotes.
Sintaxis
setlocal [enableextensions | disableextensions] [enabledelayedexpansion | disabledelayedexpansion]
Parámetros
Parámetro | Descripción |
---|---|
Habilitarextensiones | Habilita las extensiones de comando hasta que se encuentre el comando local coincidente, independientemente de la configuración antes de ejecutar el comando setlocal setlocal. |
DisableExtensions | Deshabilita las extensiones de comando hasta que se encuentre el comando local coincidente, independientemente de la configuración antes de ejecutar el comando setlocal setlocal. |
HabilitarExpansión retrasada | Habilita la expansión de la variable de entorno retrasada hasta que se encuentre el comando de local coincidente, independientemente de la configuración antes de ejecutar el comando setlocal setlocal. |
DisableDelayedExpansion | Deshabilita la expansión de la variable de entorno retrasada hasta que se encuentre el comando local coincidente, independientemente de la configuración antes de ejecutar el comando setlocal setlocal. |
/? | Muestra ayuda en el símbolo del sistema. |
Observaciones
Si usa setlocal fuera de un script o archivo por lotes, no tiene ningún efecto.
Use setlocal para cambiar las variables de entorno al ejecutar un archivo por lotes. Los cambios en el entorno realizados después de ejecutar setlocal son locales en el archivo por lotes. El programa Cmd.exe restaura la configuración anterior cuando encuentra un comando final o llega al final del archivo por lotes.
Puede tener más de un comando setlocal o endlocal en un programa por lotes (es decir, comandos anidados).
El comando setlocal establece la variable ERRORLEVEL. Si pasa {enableextensions | disableextensions} o {enabledelayedexpansion | disabledelayedexpansion}, la variable ERRORLEVEL se establece en 0 (cero). De lo contrario, se establece en 1. Puede usar esta información en scripts por lotes para determinar si las extensiones están disponibles, como se muestra en el ejemplo siguiente:
verify other 2>nul setlocal enableextensions if errorlevel 1 echo Unable to enable extensions
Dado que cmd no establece la variable ERRORLEVEL cuando se deshabilitan las extensiones de comando, el comprobar comando inicializa la variable ERRORLEVEL en un valor distinto de cero cuando se usa con un argumento no válido. Además, si usa el comando setlocal con argumentos {enableextensions | disableextensions} o {enabledelayedexpansion | disabledelayedexpansion} y no establece la variable ERRORLEVEL en 1, las extensiones de comando no están disponibles.
Ejemplos
Para localizar variables de entorno en un archivo por lotes, siga este script de ejemplo:
rem *******Begin Comment**************
rem This program starts the superapp batch program on the network,
rem directs the output to a file, and displays the file
rem in Notepad.
rem *******End Comment**************
@echo off
setlocal
path=g:\programs\superapp;%path%
call superapp>c:\superapp.out
endlocal
start notepad c:\superapp.out