Forivin
Forivin

Reputation: 15508

PATH variable different when cmd was run through the context menu

I just spent the last hour on trying to find out why the hell my PATH variable wasn't updating for my cmd.exe. Now I figured out that it kind of did update, but only for certain conditions...
I updated it via Win+Break -> Change Settings -> Advanced -> Environment Variables...

Now when I open a new commandline via Win+R -> cmd -> Enter the PATH variable shows whatever I set it to.
But when I open a new commandline via Shift+Rightclick into folder -> Open command window here, the PATH variable shows outdated content.

enter image description here

My question: Why is this happening, what can I do about it?

Upvotes: 6

Views: 2060

Answers (1)

Forivin
Forivin

Reputation: 15508

As pointed out by Hans Passant, the problem was that running cmd via the explorer's context menu spawns cmd as a child process to the explorer causing it to inherit the environment variables from explorer.exe instead of acquiring them itself. And since a process usually only loads the environment variables once in the beginning and doesn't listen for changes, the explorer inherited outdated variables to the cmd instance.

So the solution would be to simply restart explorer.exe.

Upvotes: 6

Related Questions