Copying Environment Variables in Windows XP

1

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?

Jim Fell

Posted 2012-01-30T17:40:10.097

Reputation: 5 069

Answers

2

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.

Ƭᴇcʜιᴇ007

Posted 2012-01-30T17:40:10.097

Reputation: 103 763

The equal sign (=) causes an error. – Jim Fell – 2012-01-30T17:58:14.713

Yeah, I realized I had erroneously stuck those in there (that's Set's syntax), so I edited them out. :) – Ƭᴇcʜιᴇ007 – 2012-01-30T17:59:57.067