19
2
For whatever reason, on a specific machine my cmd process doesn't inherit its environment variables from the parent process which launched it. Instead it reverts back to the "default" environment settings, like it was launched via explorer.
A simple way to demonstrate this is to open a command-prompt and then run set Path=C:\Windows\System32\
, followed by launching another cmd
process from the same prompt. The variable can then be viewed by running set Path
.
It should be "C:\Windows\System32" (inherited from the launching process) but on my machine it's reverted back to my environment default.
You should see something like this:
What could be causing this? It seems to break all the rules around how environment variables work and it only affects this one machine.
5I wouldn’t recommend using
path
as the discriminating test for something like this, as it’s an ubiquitous symbol that could easily be reset/hijacked by some tool, utility or setting. You should consider using some other unique/improbable symbol (likezzMyTestSymbol
) as an additional control test. – RBarryYoung – 2019-12-02T22:25:54.1371.. as borne out by the answer! – Lightness Races with Monica – 2019-12-03T15:40:03.743