As variáveis ​​de ambiente têm valores diferentes dependendo de como o CMD.exe é iniciado

As variáveis ​​de ambiente têm valores diferentes dependendo de como o CMD.exe é iniciado

Eu tenho uma configuração de comando no Registro como uma associação de pasta, então posso mudar + clicar com o botão direito em qualquer pasta e abrir um prompt do VS2010 lá, em vez de ter que abrir um prompt de comando e depois CD para o diretório em que estou trabalhando. Mas não está funcionando...

Configurar:

JAVA_HOMEestá definido C:\Program Files\Java\jdk1.7.0_04em Computador > Configurações avançadas do sistema > Variáveis ​​de ambiente...

Quando faço o seguinte, o valor correto é gerado:

Iniciar > Prompt de comando do Visual Studio (2010) ( %comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 2010 Premium\VC\vcvarsall.bat"" x86):

Saída (correta):

Setting environment for using Microsoft Visual Studio 2010 x86 tools.

C:\Program Files (x86)\Microsoft Visual Studio 2010 Premium\VC>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.7.0_04

Mas quando faço o seguinte, o valor errado (antigo) é usado:

Shift + clique com o botão direito em uma pasta, selecione "Abrir prompt do VS2010 aqui" ( cmd /k ""C:\Program Files (x86)\Microsoft Visual Studio 2010 Premium\VC\bin\vcvars32.bat" x86 && cd /d "%V" && title Visual Studio Command Prompt (2010)"no Registro):

Saída(errado):

Setting environment for using Microsoft Visual Studio 2010 x86 tools.

E:\Hg>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_27

Por que os valores são diferentes??? De onde está a segunda instância lendo esses valores?

Responder1

Observe que existem 2 conjuntos de variáveis ​​de ambiente. Um para o usuário e outro para todo o sistema:

insira a descrição da imagem aqui

Certifique-se de ter ambos ajustados. Às vezes, as variáveis ​​do usuário são definidas, às vezes não.

informação relacionada