Como faço para acrescentar a uma variável de ambiente do sistema existente usando setx
Basta adicionar os dados extras ao final da variável.
Exemplo :
> set _variable=foo
> echo %_variable%
foo
> setx _variable %_variable%bar
SUCCESS: Specified value was saved.
> echo %_variable%
foo
Observe que o setx
não funcionou. Isso porque você deve iniciar um novo cmd
shell para ver a alteração:
setx
writes variables to the master environment in the registry, edits will only take effect when a new command window is opened - they do not affect the current CMD or PowerShell session.
Fonte - setx
Abra um novo shell cmd
para ver a alteração:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
> echo %_variable%
foobar
E podemos ver o valor correto.
Mas eu quero mudar o nome da variável. Como faço isso?
Você não pode alterar o nome da variável diretamente, pois ela é armazenada como um valor-chave no registro.
-
Como solução alternativa, crie uma nova variável com o novo nome e exclua a antiga.
-
setx
não tem uma opção de exclusão, exclua a variável do registro.
Exemplo :
setx _variable.old %_variable%
reg delete HKCU\Environment /F /V _variable
Abra um novo shell cmd
para ver as alterações.
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD
- reg - Leia, defina ou exclua chaves e valores do Registro, salve e restaure a partir de um arquivo .REG.
- setx - Defina as variáveis de ambiente permanentemente, SETX pode ser usado para definir as variáveis de ambiente para a máquina (HKLM) ou usuário atualmente conectado (HKCU).