Desejo definir uma variável de ambiente no prompt de comando e poder acessá-la globalmente (por exemplo, devo vê-la em Sistema -> Variáveis de ambiente).
Quando uso o comando set, ele não está acessível em uma nova sessão do cmd.
set NEWVAR=SOMETHING
echo %NEWVAR%
Perguntas relacionadas:
Respostas:
Para tornar a variável de ambiente acessível globalmente, você precisa configurá-la no registro. Como você percebeu usando apenas:
você está apenas configurando-o no espaço de processo atual.
De acordo com esta página, você pode usar o
setx
comando:setx
está embutido no Windows 7, mas para versões mais antigas pode estar disponível apenas se você instalar o Windows Resource Kitfonte
setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_45"
funcionará. Massetx JAVA_HOME C:\Program Files\Java\jdk1.7.0_45
irá fornecer erros de sintaxeTambém podemos usar "setx var variable / M" para definir o var para o nível da variável de ambiente do sistema em vez do nível do usuário.
Nota: Este comando deve ser executado como administrador.
fonte
/ M para definir o nível da variável de ambiente do sistema em vez do nível do usuário, como resposta de @Minh Chau
Teste
Linha de comando RESTART (se você não reiniciar a linha de comando, a variável de ambiente não funcionará)
fonte
Você pode usar
setx env var [/M]
como mencionado acima. Se não entrar em vigor, você pode usarrefreshenv
para atualizar variáveis de ambiente. Você não precisa reiniciar o computador, o explorer.exe ou o prompt de comando para fazer isso.Edit: aparentemente refreshenv não vem naturalmente com o Windows, então aqui está a fonte: https://pastebin.com/1fJqA0pT
Salve como RefreshEnv.cmd e coloque-o em uma pasta incluída nas variáveis de ambiente PATH
fonte
As variáveis do sistema podem ser definidas através do CMD e do registro Por ex. consulta de registro "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v PATH
Todos os códigos CMD e variáveis de sistema comumente usados são fornecidos aqui: Defina as variáveis de ambiente do sistema Windows usando CMD .
Abra o CMD e digite Set
Você receberá todos os valores da variável do sistema.
Digite set java para saber os detalhes do caminho do java instalado no sistema operacional da janela.
fonte
Quero acrescentar que, se você estiver usando o parâmetro / s com setx para definir variáveis de ambiente em um computador remoto, o serviço "Registro Remoto" precisará estar em execução na máquina de destino ou você receberá um "ERRO: O operação especificada não pôde ser concluída. "
(Solicitei à Microsoft que atualize o artigo TechNet no setx para incluir essas informações.)
fonte