SETLOCAL
Begins localization of environment changes in a batch file.
Environment
changes made after SETLOCAL has been issued are local to the
batch file.
ENDLOCAL must be issued to restore the previous settings.
When the end
of a batch script is reached, an implied ENDLOCAL is
executed for any
outstanding SETLOCAL commands issued by that batch script.
SETLOCAL
If Command Extensions are enabled SETLOCAL changes as
follows:
SETLOCAL batch command now accepts optional arguments:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
enable or disable command processor extensions. See
CMD /? for details.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
enable or disable delayed environment variable
expansion. See SET /? for details.
These modifications last until the matching ENDLOCAL
command,
regardless of their setting prior to the SETLOCAL command.
The SETLOCAL command will set the ERRORLEVEL value if given
an argument. It will be zero if one of the two valid
arguments
is given and one otherwise. You can use this in batch
scripts
to determine if the extensions are available, using the
following
technique:
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions
This works because on old versions of CMD.EXE, SETLOCAL does
NOT
set the ERRORLEVEL value. The VERIFY command with a bad
argument
initializes the ERRORLEVEL value to a non-zero value.
|
|