为什么%ProgramFiles(x86)%不带引号返回?

使用这个简单的testing批处理脚本

@echo off echo %ProgramFiles% echo %ProgramFiles(x86)% 

是我的输出:

 "C:\Program Files" C:\Program Files (x86) 

一个variables用引号括起来,而另一个不是? 这是某种错误,还是代表我的一个简单的监督?

奇怪的是,我无法在我的机器上重现(Windows Vista 64位SP 1)。 我的输出是

 C:\Program Files C:\Program Files (x86) 

你确定你没有在你的echo语句中插入引号吗?

在W2K8 x64我得到:

 c:\temp>echo %ProgramFiles% & echo %ProgramFiles(x86)% C:\Program Files C:\Program Files (x86) 

如果你input“set”,你可以看到什么是环境variables。 我得到:

 c:\temp>set ... ProgramFiles=C:\Program Files ProgramFiles(x86)=C:\Program Files (x86) ...