windowsbatch-file

how do I retrieve a value after using setx?


I need to store a value (a time stamp) and retrieve it later in batch files. So I have searched SO for answers on how to store a persistent variable and found setx.

I used it like this:

C:\tmp>setx TIME_VAR %time%

SUCCESS: Specified value was saved.

But when I try to print it with echo it is not there:

C:\tmp>echo TIME_VAR
TIME_VAR

C:\tmp>echo %TIME_VAR%
%TIME_VAR%

How do I retrieve my stored value?


Solution

  • from the doc (setx /? )

    Because SETX writes variables to the master environment in the registry, edits will only take effect when a new command window is opened - they do not affect the current CMD or PowerShell session.