how to get program files x86 env variable?

environment-variables, windows, windows-7-x64

Solution

On a 64-bit machine running in 64-bit mode:

- `echo %programfiles%` ==> `C:\Program Files`

- `echo %programfiles(x86)%` ==> `C:\Program Files (x86)`

On a 64-bit machine running in 32-bit (WOW64) mode:

- `echo %programfiles%` ==> `C:\Program Files (x86)`

- `echo %programfiles(x86)%` ==> `C:\Program Files (x86)`

On a 32-bit machine running in 32-bit mode:

- `echo %programfiles%` ==> `C:\Program Files`

- `echo %programfiles(x86)%` ==> `%programfiles(x86)%`

Problem

I would like to know how I can display the location of Program Files (x86) in Command Prompt. I'm using Windows 7 64bit. I've tried: `echo %programfiles(x86)%` and `echo %programfiles%`. Both of these output `C:\Program Files` When I manually checked the registry, HKLM/Software/microsoft/windows/currentversion, the `programfilesdir` points to `C:\Program Files` and HKLM/Software/WOW64/Microsoft/windows/currentversion, the `programfilesdir` points to `C:\Program Files (x86)`. But, why am I always seeing `C:\Program Files` displayed?

Original source