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.
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 enableDelayedExpansion IF ERRORLEVEL 1 echo Cannot enable delayed expansion&& exit /b 1
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.