|
|
ENDLOCAL
End localisation of environment changes in a batch file.
syntax ENDLOCAL
Any changes made to an Environment Variable
after ENDLOCAL has been issued will be persistent - they will still remain in
memory after the batch file has terminated and any previous value stored in
that Environment Variable will not be restored.
Ending the cmd.exe session will delete all Environment Variables created with
the SET command.
For example:
@ECHO off SETLOCAL SET v_filename=c:\test.txt SETLOCAL SET v_filename=H:\UserManual.doc ENDLOCAL ECHO %v_filename% - this will ECHO the value "c:\test.txt"
If SETLOCAL is used without a corresponding ENDLOCAL then localisation of environment
changes will end when the batch file ends
Passing variables from one routine to another
When "&" is used to put several commands on one line, the command
processor will convert all the %variables% into their text values before executing
any of the commands.
By putting ENDLOCAL and SET commands on one line you are able to SET a variable
outside the SETLOCAL-ENDLOCAL block that refers to a variable created inside
the block.
For Example:
@ECHO OFF SETLOCAL SET v_file=%1 ENDLOCAL & SET v_ret1=%v_file%& SET v_ret2=450
You can use several "&" characters in order to SET
several variables
Related Commands:
SETLOCAL - Begin localisation of environment variables
in a batch file.
Equivalent Linux BASH commands:
readonly - Mark variables/functions
as readonly