This question already has an answer here:
- Declaring and using a variable in Windows batch file (.BAT) 3 answers
I'm doing some simple setting of a variable in a BAT file. It's not setting the variable. There aren't any odd constructs, it's simple variable substitution using the same variable name. I reduced the BAT file to a simple proof of concept version:
set TESTVAR = "No Value"
ECHO var = %TESTVAR%
set TESTVAR = ""
ECHO var = %TESTVAR%
set TESTVAR = "New value"
ECHO var = %TESTVAR%
And the output shows that none of the SET commands seem to be working. What the heck am I missing here. I've been writing BAT files for years and I've never seen this before. Here's the output from running this test:
C:\Users\rs02130\Desktop>test
C:\Users\rs02130\Desktop>set TESTVAR = "No Value"
C:\Users\rs02130\Desktop>ECHO var =
var =
C:\Users\rs02130\Desktop>set TESTVAR = ""
C:\Users\rs02130\Desktop>ECHO var =
var =
C:\Users\rs02130\Desktop>set TESTVAR = "New value"
C:\Users\rs02130\Desktop>ECHO var =
var =
C:\Users\rs02130\Desktop>
I expect the first and third ECHO commands to display the values "No Value" and "New value". What the heck is going on?