2014-01-21 53 views
0

在这里最好的答案(How to persistently set a variable in Windows 7 from a batch file?)的顶部投票评论中提到%PATH%扩展到系统加用户变量。真的吗?在我的笔记本电脑上,如果我打开cmd和我的数字是否将echo%PATH%扩展为仅系统或用户变量?

echo %PATH% 

我只看到系统变量。任何人都可以澄清这一点吗?

欢呼 A.

+0

你是什么意思:“在我的笔记本电脑这不会发生”?你在做什么/你看到了什么? – Gerrat

+0

好吧,我很抱歉我现在解释得更好 – Lupocci

回答

4

的是,默认情况下的环境,给一个新的进程,合并系统和用户变量。因此,如果您为系统和用户定义了一个变量PATH,那么这两个值将被合并。

您的实验似乎与我上面的陈述相矛盾。但是,当我重复实验时,我可以看到来自系统和用户设置的值合并。所以我只能断定你没有正确地执行你的实验。

更新:也许这comment from the MSDN topic on environment variables可能是中肯:

发现,Windows Server 2003上,一旦系统路径经过1920个字符,用户PATH环境变量不再合并其设置进程PATH环境变量,即使完整的系统PATH(即使更大)也将包含在进程PATH变量中。

+0

是的,有一个字符限制。这解决了这个问题。谢谢。 – Lupocci

+0

我想补充一点,即使某些目录是通过使用其他变量(如%comp%\ redist \ intel64 \ mkl)存储的,重要的是EXPANDED路径的长度!如果后者大于1920年,PATHS不合并,即使非扩展更短! – Lupocci

相关问题