问题
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 which displays only 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/winodws/currentversion,
the programfilesdir
points to C:\\Program Files (x86)
.
But, why am I always being displayed with C:\\Program Files??
回答1:
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)%
回答2:
Another relevant environment variable is:
%ProgramW6432%
So, on a 64-bit machine running in 32-bit (WOW64) mode:
- echo %programfiles% ==> C:\Program Files (x86)
- echo %programfiles(x86)% ==> C:\Program Files (x86)
- echo %ProgramW6432% ==> C:\Program Files
From Wikipedia:
The %ProgramFiles% variable points to the Program Files directory, which stores all the installed programs of Windows and others. The default on English-language systems is "C:\Program Files". In 64-bit editions of Windows (XP, 2003, Vista), there are also %ProgramFiles(x86)%, which defaults to "C:\Program Files (x86)", and %ProgramW6432%, which defaults to "C:\Program Files". The %ProgramFiles% itself depends on whether the process requesting the environment variable is itself 32-bit or 64-bit (this is caused by Windows-on-Windows 64-bit redirection).
Reference: http://en.wikipedia.org/wiki/Environment_variable
回答3:
On a Windows 64 bit machine, echo %programfiles(x86)% does print C:\Program Files (x86)
回答4:
IMHO, one point that is missing in this discussion is that whatever variable you use, it is guaranteed to always point at the appropriate folder. This becomes critical in the rare cases where Windows is installed on a drive other than C:\
来源:https://stackoverflow.com/questions/9594066/how-to-get-program-files-x86-env-variable