从命令提示符,我得到以下信息:
>echo %ProgramFiles%
C:\Program Files
Run Code Online (Sandbox Code Playgroud)
然而,一些应用程序(在这个例子中是 PHP,虽然我在 Apache 的 httpd.conf 中看到了相同的行为),它是:
>php -r "echo $_ENV['ProgramFiles'];"
C:\Program Files (x86)
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
背景:我正在开发与主机操作系统是 32 位还是 64 位无关的脚本,对于配置文件,这非常有效。在 32 位系统上,%ProgramFiles%
是“C:\Program Files”,而在 64 位系统上,%ProgramFiles%
似乎同样返回C:\Program Files (x86)
. 我只是好奇为什么当我从 Windows 命令提示符(或在资源管理器栏等中)尝试它时,同样的情况不成立。是否有 64 位命令提示符之类的?