From a command prompt, I get the following:
>echo %ProgramFiles%
C:\Program Files
However, some applications (PHP in this instance, though I've seen the same behavior from within Apache's httpd.conf), it is:
>php -r "echo $_ENV['ProgramFiles'];"
C:\Program Files (x86)
Why is this?
Background: I'm developing scripts that are agnostic of the host OS being 32bit or 64bit, and for configuration files this works great. On a 32bit system, %ProgramFiles%
is "C:\Program Files", and on a 64bit system that same %ProgramFiles%
seemingly returns C:\Program Files (x86)
. I'm just curious why the same doesn't hold true when I try it from the Windows command prompt (or in the explorer bar, etc.). Is there a 64bit command prompt or something?