At the command line, I type
<code>set var = xxx
</code>
<code>set var = xxx
</code>
set var = xxx
then
<code>set var
</code>
<code>set var
</code>
set var
and I get the response
<code>var = xxx
</code>
<code>var = xxx
</code>
var = xxx
as expected.
If I then type
<code>echo %var%
</code>
<code>echo %var%
</code>
echo %var%
I get the response
<code>%var%
</code>
<code>%var%
</code>
%var%
not, as I’d expect
<code>xxx
</code>
<code>xxx
</code>
xxx
If, however, I type
<code>echo %path%
</code>
<code>echo %path%
</code>
echo %path%
the response is the path sequence, as I’d expect.
What am I missing?
You actually defined a variable called var
(note the extra space on the right hand side), not var
.
<code>> set var = xxx
> set var
var = xxx
> echo %var%
%var%
> echo %var %
xxx
> set var=xxx
> set var
var=xxx
var = xxx
> echo %var%
xxx
</code>
<code>> set var = xxx
> set var
var = xxx
> echo %var%
%var%
> echo %var %
xxx
> set var=xxx
> set var
var=xxx
var = xxx
> echo %var%
xxx
</code>
> set var = xxx
> set var
var = xxx
> echo %var%
%var%
> echo %var %
xxx
> set var=xxx
> set var
var=xxx
var = xxx
> echo %var%
xxx
1