Gostaria de saber como posso exibir a localização dos Arquivos de Programas (x86) no prompt de comando. Estou usando o Windows 7 de 64 bits.
Eu tentei:
echo %programfiles(x86)%
e echo %programfiles%
,
ambos exibindo apenasC:\Program Files
Quando eu verifiquei manualmente o registro,
HKLM / Software / microsoft / windows / currentversion ,
os programfilesdir
pontos para C:\Program Files
e
HKLM / Software / WOW64 / Microsoft / winodws / currentversion ,
os programfilesdir
pontos para C:\Program Files (x86)
.
Mas, por que estou sempre sendo exibido com C: \ Arquivos de Programas ??
Respostas:
Em uma máquina de 64 bits em execução no modo de 64 bits:
echo %programfiles%
==>C:\Program Files
echo %programfiles(x86)%
==>C:\Program Files (x86)
Em uma máquina de 64 bits em execução no modo de 32 bits (WOW64):
echo %programfiles%
==>C:\Program Files (x86)
echo %programfiles(x86)%
==>C:\Program Files (x86)
Em uma máquina de 32 bits em execução no modo de 32 bits:
echo %programfiles%
==>C:\Program Files
echo %programfiles(x86)%
==>%programfiles(x86)%
fonte
Outra variável de ambiente relevante é:
% ProgramW6432%
Portanto, em uma máquina de 64 bits em execução no modo de 32 bits (WOW64):
Da Wikipedia :
Referência: http://en.wikipedia.org/wiki/Environment_variable
fonte
Em uma máquina Windows de 64 bits, echo% programfiles (x86)% imprime C: \ Arquivos de programas (x86)
fonte
IMHO, um ponto que está faltando nesta discussão é que seja qual for a variável que você usar, é garantido que sempre aponte para a pasta apropriada. Isso se torna crítico nos raros casos em que o Windows é instalado em uma unidade diferente de C: \
fonte