Begins localization of environment changes in a batch file.
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.
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.

Start
About
FAQ
Blogroll
Shop
Tips and Tricks
Windows Updates
Hotfixes
Keyboard Shortcuts
Vista's Services
Vista's Commands
Product Reviews
Glossary
Videos
Web Links

Comments
There are no comments yet...Come on, share your thoughts!
Leave a Comment