Um pouco de histórico importante: minha empresa possui um script VBS de login genérico que faz modificações na variável de ambiente PATH do usuário no login e me permite executar um software que possui dependências no compartilhamento de arquivos DFS mapeado. Também instalei recentemente o Windows Powershell SDK na minha máquina com Windows 7 Enterprise e tentei modificar minha variável de ambiente PATH na linha de comando do Powershell.
Depois disso, notei que não era mais possível executar aplicativos que correspondam a essas modificações no PATH de logon e que o editor de variáveis de ambiente PATH estava definido como algo diferente do que estava aparecendo quando emitei um 'echo %PATH%'
no prompt de comando.
Então, por exemplo (simplificação), no editor de variáveis de ambiente ( My Computer properties -> Advanced System Settings -> Environment Variables
) eu tive
C:\MyDir\; C:\MyOtherDir
enquanto que quando fiz isso 'echo %PATH%'
em um prompt de comando, obtive:
C:\MyDir\
Alguém mais teve um problema semelhante e houve algum tipo de resolução? Quando procurei no Google por ajuda, me deparei com isso:
(Relacionado?) StackOverflow Thread
Ocorreu-me que, se o script de login foi iniciado por algo diferente do meu ambiente Explorer.exe, esse era o problema. No entanto, quando eu executei o script de login, meu PATH no prompt de comando permaneceu inalterado. O que isso teria a ver com o PowerShell? Estou sentindo falta de como isso está conectado a essa instalação completamente.
fonte
Respostas:
O Windows possui duas classes de variáveis de ambiente, variáveis de ambiente do sistema e variáveis de ambiente do usuário . Se você estiver usando
echo %PATH%
, verá sua variável de ambiente do usuárioPATH
. Somente se não houver variável de usuário definida, a variável do sistema entrará em vigor para os processos do usuário.O
PATH
separador;
não deve ser seguido por um espaço em branco.A seguinte observação da Microsoft pode ser útil:
Você pode modificar variáveis de ambiente do usuário editando a seguinte chave do Registro:
Você pode modificar as variáveis de ambiente do sistema editando a seguinte chave do Registro:
Observe que qualquer variável de ambiente que precise ser expandida (por exemplo, quando você usa
%SYSTEM%
) deve ser armazenada no registro como umREG_EXPAND_SZ
valor do registro. Quaisquer valores do tipoREG_SZ
não serão expandidos quando lidos do registro.Observação adicional: sempre que um processo altera seu ambiente (em vez das configurações do registro que definem o ambiente para novos processos), as alterações são visíveis apenas para processos filhos.
fonte
tmp
etemp
. Você tem certeza de que este é o caminho para o usuário, que deve ser modificado?