O CMD não atualiza as variáveis de ambiente mesmo ao reiniciar o sistema operacional

1

Eu configurei minhas variáveis para o meu ambiente de desenvolvimento usando o Windows cmd, mas ele funciona bem somente na primeira vez em que as defini com o diálogo System > Advanced > Env Vars. Acabei de reiniciar o cmd e funciona.

Mas depois que eu reinicio o computador, ele se comporta bem estranho. Como eu tenho que reiniciar cmd um número indeterminado de vezes para obter as variáveis que eu defini. Às vezes, até aparece no cmd quando eu emito o comando SET, mas não funciona se eu emitir um comando de um desses caminhos. É assim que parece:

C:\Users\Adrian>set
ALLUSERSPROFILE=C:\ProgramData
ANDROID_HOME=F:\Programas\android-sdk
ANDROID_SDK_HOME=F:\Programas\android-sdk
ANT_HOME=F:\Programas\ant
APPDATA=C:\Users\Adrian\AppData\Roaming
BIN_DIR=F:\Programas\bin
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=SAKURA
ComSpec=C:\WINDOWS\system32\cmd.exe
configsetroot=C:\WINDOWS\ConfigSetRoot
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Adrian
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_60
JAVA_SDK_HOME=C:\Program Files\Java\jdk1.7.0_60
LOCALAPPDATA=C:\Users\Adrian\AppData\Local
LOGONSERVER=\SAKURA
MAVEN_HOME=F:\Programas\maven\
MOZ_PLUGIN_PATH=C:\PROGRAM FILES (X86)\FOXIT SOFTWARE\FOXIT READER\plugins\
NUMBER_OF_PROCESSORS=8
OS=Windows_NT
Path=C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x8
6)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:
\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:
\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\
Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Int
el(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Man
agement Engine Components\IPT;C:\Program Files\Lenovo\Bluetooth Software\;C:\Pro
gram Files\Lenovo\Bluetooth Software\syswow64;C:\Program Files\nodejs\;%ANDROID_
HOME%\tools;%ANDROID_HOME%\platform-tools;%JAVA_HOME%\bin;F:\Programas\ant\bin;C
:\Program Files (x86)\Git\cmd;C:\Program Files\Microsoft SQL Server0\Tools\Bi
nn\;C:\Program Files (x86)\sbt\bin;F:\Programas\bin;%MAVEN_HOME%\bin;C:\Users\Ad
rian\AppData\Roaming\npm
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3c03
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SBT_HOME=C:\Program Files (x86)\sbt\
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\Adrian\AppData\Local\Temp
TMP=C:\Users\Adrian\AppData\Local\Temp
USERDOMAIN=SAKURA
USERDOMAIN_ROAMINGPROFILE=SAKURA
USERNAME=Adrian
USERPROFILE=C:\Users\Adrian
VBOX_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools
\
windir=C:\WINDOWS

C:\Users\Adrian>adb
"adb" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Users\Adrian>adb
"adb" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Users\Adrian>javac
"javac" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Users\Adrian>

Existe um var chamado ANDROID_SDK_HOME que foi substituído por ANDROID_HOME. Aquele primeiro nem existe no registro!

Registro para usuário vars:

Registroparavarsdosistema:

O que poderia estar errado?

PD: está no Windows 8.1 Atualização 1

    
por Adrián Pérez 20.08.2014 / 12:56

2 respostas

0

Parece ser um problema conhecido em várias versões do Windows.

Eu nunca encontrei esse problema antes, mas seguindo o que está escrito aqui: link e seguindo o comentário da VbNetMatrix aqui : link Eu consegui contornar isso.

Variáveis foram criadas como REG_SZ em vez de REG_EXPAND_SZ. Depois de alterar os tipos em regedit e disparado para atualizar a expansão da variável PATH clicando em "Modificar" para a variável PATH na caixa de diálogo de configuração da variável de ambiente (Sistema > Avançado > Env. Vars, não sei os nomes exatos, meu sistema operacional está definido para o idioma espanhol) o cmd foi capaz de acessar os comandos que estavam nos caminhos referenciados nas variáveis que defini anteriormente.

    
por 20.08.2014 / 17:56
0

O seguinte link pode ser usado O que são caminhos e outras variáveis de ambiente e como posso defini-los

Eu notei que você tem o javac como um dos comandos que você está testando, o que seria parte do Java SDK e enquanto você parece ter definido a seguinte variável de ambiente

JAVA_SDK_HOME=C:\Program Files\Java\jdk1.7.0_60

não há% JAVA_SDK_HOME% em sua declaração de caminho, portanto, o SO possivelmente não encontrará esse comando em suas outras entradas de caminho.

    
por 20.08.2014 / 13:19