Chciałbym wiedzieć, jak mogę wyświetlić lokalizację plików programów (x86) w wierszu polecenia. Używam 64-bitowego systemu Windows 7.
Próbowałem:
echo %programfiles(x86)%
i echo %programfiles%
,
z których oba wyświetlacze tylkoC:\Program Files
Kiedy ręcznie sprawdzana rejestru
HKLM / Software / Microsoft / Windows / CurrentVersion ,
że programfilesdir
wskazuje na C:\Program Files
i
HKLM / Software / WOW64 / Microsoft / winodws / CurrentVersion ,
to programfilesdir
wskazuje C:\Program Files (x86)
.
Ale dlaczego zawsze jestem wyświetlany z C: \ Program Files ??
Odpowiedzi:
Na komputerze 64-bitowym działającym w trybie 64-bitowym:
echo %programfiles%
==>C:\Program Files
echo %programfiles(x86)%
==>C:\Program Files (x86)
Na komputerze 64-bitowym działającym w trybie 32-bitowym (WOW64):
echo %programfiles%
==>C:\Program Files (x86)
echo %programfiles(x86)%
==>C:\Program Files (x86)
Na komputerze 32-bitowym działającym w trybie 32-bitowym:
echo %programfiles%
==>C:\Program Files
echo %programfiles(x86)%
==>%programfiles(x86)%
źródło
Inną istotną zmienną środowiskową jest:
% Program W6432%
Tak więc na 64-bitowej maszynie działającej w trybie 32-bitowym (WOW64):
Z Wikipedii :
Źródła: http://en.wikipedia.org/wiki/Environment_variable
źródło
Na komputerze z systemem Windows 64-bitowym echo% programfiles (x86)% drukuje C: \ Program Files (x86)
źródło
IMHO, jedna kwestia, której brakuje w tej dyskusji, to to, że niezależnie od używanej zmiennej gwarantuje ona zawsze wskazanie odpowiedniego folderu. Staje się to krytyczne w rzadkich przypadkach, gdy system Windows jest zainstalowany na dysku innym niż C: \
źródło