Editar variáveis do sistema usando setx

1

Não consigo encontrar os parâmetros corretos de setx para modificar uma variável de ambiente do sistema existente. Basicamente, eu tenho uma variável que eu quero acrescentar ".old" para.

    
por Dumont 29.04.2017 / 08:42

1 resposta

0

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).
por 30.04.2017 / 09:55