2009-12-06 21:52:22 +0000 2009-12-06 21:52:22 +0000
226
226

Definir e obter variáveis de ambiente Windows a partir do prompt de comando?

Quero definir uma variável de ambiente a partir do prompt de comando e depois poder aceder-lhe globalmente (por exemplo, devo vê-la indo a System -> Environment Variables).

Quando uso o comando set, não está acessível numa nova sessão cmd.

set NEWVAR=SOMETHING
echo %NEWVAR%

Perguntas relacionadas:

Respostas (6)

260
260
260
2009-12-06 21:58:09 +0000

Para tornar a variável de ambiente acessível globalmente, é necessário defini-la no registo. Como já percebeu ao utilizar apenas:

set NEWVAR=SOMETHING

está apenas a defini-la no espaço do processo actual.

De acordo com esta página pode usar o comando setx :

setx NEWVAR SOMETHING

setx está integrado no Windows 7, mas para versões mais antigas pode apenas estar disponível se instalar o Windows Resource Kit

36
36
36
2014-08-26 10:37:26 +0000

Podemos também usar “setx var variable /M” para definir o var ao nível da variável de ambiente do sistema em vez do nível do utilizador.

Nota: Este comando deve ser executado como administrador.

11
11
11
2017-02-08 14:54:39 +0000
setx program "C:\Program Files" /M

/M para definir o nível da variável de ambiente do sistema em vez do nível do utilizador como @Minh Chau answer

Test

RESTART linha de comando (se não reiniciar a linha de comando, a variável de ambiente não funcionará)

2
2
2
2017-03-09 05:06:52 +0000

As variáveis do sistema podem ser definidas através de CMD e registo Para ex. reg query “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Session Manager\Environment” /v PATH*

Todos os códigos CMD e variáveis de sistema normalmente utilizados são indicados aqui: Definir variáveis de ambiente de sistema Windows usando CMD .

Abrir CMD e digitar Set

Você obterá todos os valores da variável de sistema.

Tipo set java para conhecer os detalhes do caminho do java instalado no seu SO window.

2
2
2
2018-11-13 19:42:06 +0000

Pode utilizar o setx env var [/M], tal como mencionado anteriormente. Se não tiver efeito, pode usar o refreshenv para actualizar as variáveis de ambiente. Não precisa de reiniciar o seu computador, explorer.exe ou o seu comando para o fazer.

Editar: aparentemente o não vem naturalmente com o Windows, por isso aqui está a fonte: https://pastebin.com/1fJqA0pT Save as RefreshEnv.cmd e coloque-o numa pasta que está incluída nas variáveis do seu ambiente PATH

0
0
0
2017-05-18 19:35:20 +0000

Quero acrescentar que se estiver a utilizar o parâmetro /s com setx para definir variáveis de ambiente num computador remoto, o serviço “Remote Registry” precisa de estar a correr na máquina alvo ou então receberá um “ERROR: A operação especificada não pôde ser concluída”

(pedi à Microsoft para actualizar o seu artigo TechNet no setx para incluir esta informação).