If Command Extensions are enabled SETLOCAL changes as follows: SETLOCAL batch command now accepts optional arguments: ENABLEEXTENSIONS ...

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.