fortypoundhead.com

ENDLOCAL

Primary Category = Windows Commandline

Posted On 2005-11-1 by FortyPoundHead
Keywords: Command Reference
Tags: Windows Commandline Windows
Views: 1520
Rating: / 5.00

  • 1
  • 2
  • 3
  • 4
  • 5

 

ENDLOCAL

End localization 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




About the Author

FortyPoundHead has posted a total of 1975 articles.

You can find more information from FortyPoundHead by visiting .

Comments On This Post

No comments on this post yet!

 

Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.


Your IP address is:54.163.159.27

Before you can post, you need to prove you are human. If you log in, this test goes away.