用户环境变量和系统环境变量的区别、用处、优先级
用户环境变量和系统环境变量的区别:
用户变量对当前登录用户起作用
系统变量对所有登录用户都起作用
现在大多数电脑都只有一个用户,即Administrator管理员,因此在哪个中添加路径都可以
环境变量的用处:
大都用在dos窗口执行指令时(目前我知道的),可执行程序必须进入到程序所在的目录下才能正常执行,而环境变量中的path变量可以为系统设定一个默认的路径,即系统先在当前目录下查找有无指定的可执行程序,如果没有找到,就去查找环境变量的路径,依次查找path中设置的多个路径下有没有指定的可执行程序名;查询到就执行程序同时停止查询;若直到查询完毕仍没有,则显示“XX不是内部或外部命令”。
还有其他的一些环境变量保存一些关键路径的信息,如 APPDATA-- 保存默认情况下应用程序存储数据的位置; windir--保存操作系统目录的位置; UserProfile--保存当前用户配置文件的位置;
使用时前后各加一个%表示路径,如%windir%通常为 C:\windows
环境变量的优先级:
个人测试:创建两个同名的内容不同的小程序(程序内容为“我在X:\目录下”),分别放在不同的盘下(D和E),然后修改用户变量(指向E盘)和系统变量(指向D盘)的值指向不同位置,看哪个程序先执行,来判断两个的优先级。
结果:
删除D盘下的1.exe程序,再次执行:
结论:windows系统中,在查找path变量时,先查找系统环境变量,再查找用户环境变量
附网上的一篇博文 链接
他的结论:
path优先级从高到低排列:
%userprofile%
%systemroot%/system32
%systemroot%
用户定义path