Friday, October 13, 2017

Copying Environment Variables in Windows XP


How can I copy the value of an environment variable into another environment variable? I'm updating a DOS batch script for use on Windows XP. Let's say that I have environment variable FOO, which contains some\file\path, and I need to make an exact copy of this file in environment variable BAR. How is that accomplished?


Variable FOO is setup as such:



setx FOO %MY_ROOT%\some\file\path



How do I make BAR equal FOO by only referencing FOO?


Answer



Setx BAR %FOO%


You have to be careful with SETX though, as it doesn't apply the variables set to the current CMD window.


So you'd have to open a CMD, run Setx FOO path, exit the current CMD window and/or open a new one, at which point %FOO% will take effect, and you can then assign FOO to BAR with Setx BAR %FOO%.


You can use Set to assign variables that work immediately in the current CMD session, but Set's scope is only within the current CMD session, so you may need to use a combination of both.


No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...