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.
My question: Why is this happening, what can I do about it?
To add multiple path values under the PATH variable separate your values with a semi-colon. To be clear, this is only true for certain variables. For instance adding another path to the TEMP variable would just break things.
The PATH variable is an environment variable containing an ordered list of paths that Linux will search for executables when running a command. Using these paths means that we don't have to specify an absolute path when running a command.
I've seen numerous articles (see 1 2 3) addressing if order matters with regards to entries in the PATH environment variable and it is clear that the answer is a resounding yes.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With