Vince, maybe I didn't make this clear. Both of those unset the local environment variable, neither one of them resets the variable in whatever place it is located as a "volatile" variable (which I don't have a clue where it is since it doesn't show up any more in the registry, see below). To be as clear as possible, if I do "Set /V /E ABC=DEF" and then echo %ABC, DEF is displayed as one would expect. And if I then open up a new TCC session and do the same thing I get the same result, as expected. So I close the 2nd TCC session and issue a "Unset /V /E ABC', and "Echo %ABC" yields "Echo is OFF" as expected. However, if I then open a 2nd TCC session and issue the same command, I still get DEF as the result. However, if I go into RegEdit, ABC no longer shows up in the "volatile" variable list despite the result in the 2nd TCC session above. I truly don't understand this even in principle, but what I want is for it to now show up without a value of any kind (much less DEF), i.e. the variable should no longer even exist. (The ultimate purpose of this that is I have a variable whose very existence should inform a batch file one thing and non-existence another. What I have to do is test either for existence or some value that I use as a alias for non-existence. Doable, but ugly.)