Partilhar via


SetX

Cria ou modifica variáveis de ambiente no ambiente do usuário ou do sistema, sem exigir programação ou scripts. O comando Setx também recupera os valores das chaves do Registro e os grava em arquivos de texto.

Observação

Este comando fornece a única linha de comando ou maneira programática para definir direta e permanentemente os valores do ambiente do sistema. As variáveis de ambiente do sistema são manualmente configuráveis através Painel de Controle ou através de um editor de registro. O comando set, que é interno ao interpretador de comandos (Cmd.exe), define as variáveis de ambiente do usuário apenas para a janela atual do console.

Sintaxe

setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable> <value> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable>] /k <path> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] /f <filename> {[<variable>] {/a <X>,<Y> | /r <X>,<Y> <String>} [/m] | /x} [/d <delimiters>]

Parâmetros

Parâmetro Descrição
/s <computer> Especifica o nome ou endereço IP de um computador remoto. Não utilize barras invertidas. O valor padrão é o nome do computador local.
/u [<domain>\]<user name> Executa o script com as credenciais da conta de usuário especificada. O valor padrão são as permissões do sistema.
/p [<password>] Especifica a senha da conta de usuário especificada no parâmetro /u.
<variable> Especifica o nome da variável de ambiente que você deseja definir.
<value> Especifica o valor para o qual você deseja definir a variável de ambiente.
/k <path> Especifica que a variável é definida com base nas informações de uma chave do Registro. O caminho usa a seguinte sintaxe: \\<HIVE>\<KEY>\...\<Value>. Por exemplo, você pode especificar o seguinte caminho: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
/f <filename> Especifica o arquivo que você deseja usar.
/um <X>,<Y> Especifica coordenadas absolutas e deslocamento como parâmetros de pesquisa.
/r <X>,<Y> <String> Especifica as coordenadas relativas e o deslocamento de String como parâmetros de pesquisa.
/m Especifica para definir a variável no ambiente do sistema. A configuração padrão é o ambiente local.
/x Exibe as coordenadas do arquivo, ignorando as opções de linha de comando /a, /re /d.
/d <delimiters> Especifica delimitadores como , ou \ a serem usados além dos quatro delimitadores internos — SPACE, TAB, ENTER e LINEFEED. Os delimitadores válidos incluem qualquer caractere ASCII. O número máximo de delimitadores é 15, incluindo delimitadores incorporados.
/? Exibe a ajuda no prompt de comando.

Observações

  • Este comando é semelhante ao utilitário UNIX SETENV.

  • Você pode usar esse comando para definir valores para variáveis de ambiente do usuário e do sistema de uma das três fontes (modos): Modo de Linha de Comando, Modo de Registro ou Modo de Arquivo.

  • Este comando grava variáveis no ambiente mestre no Registro. As variáveis definidas com variáveis setx estão disponíveis apenas em janelas de comando futuras, não na janela de comando atual.

  • HKEY_CURRENT_USER e HKEY_LOCAL_MACHINE são as únicas colmeias suportadas. REG_DWORD, REG_EXPAND_SZ, REG_SZ e REG_MULTI_SZ são os tipos de dados RegKey válidos.

  • Se você tiver acesso a REG_MULTI_SZ valores no registro, somente o primeiro item será extraído e usado.

  • Não é possível usar esse comando para remover valores adicionados aos ambientes locais ou do sistema. Você pode usar esse comando com um nome de variável e nenhum valor para remover um valor correspondente do ambiente local.

  • REG_DWORD valores do Registro são extraídos e usados no modo hexadecimal.

  • O modo de arquivo suporta apenas a análise de arquivos de texto de retorno de carro e alimentação de linha (CRLF).

  • A execução deste comando em uma variável existente remove todas as referências de variáveis e usa valores expandidos.

    Por exemplo, se a variável %PATH% tem uma referência a %JAVADIR%, e %PATH% é manipulada usando setx, %JAVADIR% é expandido e seu valor é atribuído diretamente à variável de destino %PATH%. Isso significa que atualizações futuras para %JAVADIR% não serão refletidas na variável %PATH%.

  • Lembre-se de que há um limite de 1024 caracteres ao atribuir conteúdo a uma variável usando setx.

    Isso significa que o conteúdo é cortado se você ultrapassar 1024 caracteres e que o texto cortado é o que é aplicado à variável de destino. Se esse texto cortado for aplicado a uma variável existente, isso pode resultar na perda de dados anteriormente mantidos pela variável de destino.

Exemplos

Para definir a variável de ambiente de MACHINE no ambiente local para o valor Brand1, digite:

setx MACHINE Brand1

Para definir a variável de ambiente de MACHINE no ambiente do sistema para o valor Brand1 Computer, digite:

setx MACHINE Brand1 Computer /m

Para definir a variável de ambiente MYPATH no ambiente local para usar o caminho de pesquisa definido na variável de ambiente PATH, digite:

setx MYPATH %PATH%

Para definir a variável de ambiente MYPATH no ambiente local para usar o caminho de pesquisa definido na variável de ambiente PATH depois de substituir ~ por %, digite:

setx MYPATH ~PATH~

Para definir a variável de ambiente de MACHINE no ambiente local como Brand1 em um computador remoto chamado computer1, digite:

setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1

Para definir a variável de ambiente MYPATH no ambiente local para usar o caminho de pesquisa definido na variável de ambiente PATH em um computador remoto chamado computer1, digite:

setx /s computer1 /u maindom\hiropln /p p@ssW23 MYPATH %PATH%

Para definir a variável de ambiente TZONE no ambiente local com o valor encontrado na chave do Registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName, digite:

setx TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

Para definir a variável de ambiente TZONE no ambiente local de um computador remoto chamado computer1 para o valor encontrado na chave do Registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName, digite:

setx /s computer1 /u maindom\hiropln /p p@ssW23 TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

Para definir a variável de ambiente BUILD no ambiente do sistema para o valor encontrado na chave do Registro HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber, digite:

setx BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber /m

Para definir a variável de ambiente BUILD no ambiente do sistema de um computador remoto chamado Computer1 para o valor encontrado na chave do Registro HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber, digite:

setx /s computer1 /u maindom\hiropln /p p@ssW23  BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber /m

Para exibir o conteúdo de um arquivo chamado Ipconfig.out, juntamente com as coordenadas correspondentes do conteúdo, digite:

setx /f ipconfig.out /x

Para definir a variável de ambiente IPADDR no ambiente local para o valor encontrado na coordenada 5,11 no arquivo Ipconfig.out, digite:

setx IPADDR /f ipconfig.out /a 5,11

Para definir o OCTET1 variável de ambiente no ambiente local para o valor encontrado na coordenada 5,3 no arquivo Ipconfig.out com delimitadores #$*., digite:

setx OCTET1 /f ipconfig.out /a 5,3 /d #$*.

Para definir a variável de ambiente IPGATEWAY no ambiente local para o valor encontrado na coordenada 0,7 em relação à coordenada de Gateway no arquivo de Ipconfig.out, digite:

setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway

Para exibir o conteúdo do arquivo de Ipconfig.out, juntamente com as coordenadas correspondentes do conteúdo, em um computador chamado computer1, digite:

setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x