In the top voted comment of the best answer here (How to persistently set a variable in Windows 7 from a batch file?) it is mentioned that %PATH% expands to the system plus t
The environment that is, by default, given to a new process, merges both system and user variables. So, if you have a PATH
variable defined for both system and user then the two values are merged.
Your experiment appears to contradict my statement above. However, when I repeat your experiment I can see values from both system and user settings merged. So I can only conclude that you are not performing your experiment correctly.
Update: Perhaps this comment from the MSDN topic on environment variables might be pertinent:
Found out that on Windows Server 2003, once the system PATH passes 1920 characters, the user PATH environment variable is no longer merged with it to set the process PATH environment variable, even though the full system PATH (even if larger) will be included in the process PATH variable.