Windows的环境变量的递归问题

今天调整PATH路径,无意中发现Windows环境变量的递推法则有点奇怪。

系统变量是完全支持递归的。当然啦,要是弄一个死循环出来,我也不知道会发生什么。

但是用户变量的递归似乎有一点不同。

环境变量是按其名字的字典顺序定义的。若某一用户变量其中包括其它已定义、但顺序靠后的环境变量时,似乎无法正确的递归展开。而系统变量完全不存在这个问题。例如

COMPILERS	d:\compilers
JAVA_HOME	%COMPILERS%\java\jdk1.6.0_10
PATH		%JAVA_HOME%\bin;%MINGW%\bin
MINGW		%COMPILERS%\mingw

则其中JAVA_HOME, MINGW都能顺利展开,但PATH中的%MINGW%却无法展开。把上述定义改为系统变量,就能全部展开。

可能是个bug,求证实或证伪。

Related Posts

on November 12th, 2008 | No Comments »

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>