set (variável de ambiente)

Exibe, define ou remove cmd.exe variáveis de ambiente. Se usado sem parâmetros, o conjunto exibirá as configurações atuais da variável de ambiente.

Observação

Esse comando requer extensões de comando, que são habilitadas por padrão.

O comando set também pode ser executado no Console de Recuperação do Windows, usando parâmetros diferentes. Para obter mais informações, consulte o WinRE (Ambiente de Recuperação do Windows).

Sintaxe

set [<variable>=[<string>]]
set [/p] <variable>=[<promptString>]
set /a <variable>=<expression>

Parâmetros

Parâmetro Descrição
<variable> Especifica a variável de ambiente a ser definida ou modificada.
<string> Especifica a cadeia de caracteres a ser associada à variável de ambiente especificada.
/p Define o valor de <variable> uma linha de entrada inserida pelo usuário.
<promptstring> Especifica uma mensagem para solicitar entrada ao usuário. Esse parâmetro deve ser usado com o parâmetro /p .
/a Define <string> como uma expressão numérica que é avaliada.
<expression> Especifica uma expressão numérica.
/? Exibe a ajuda no prompt de comando.

Comentários

  • Se as extensões de comando estiverem habilitadas (o padrão) e você executar o conjunto com um valor, ela exibirá todas as variáveis que começam com esse valor.

  • Os caracteres <, >, |e ^&são caracteres especiais do shell de comando, e eles devem ser precedidos pelo caractere de escape (^) ou entre aspas quando usados <string> (por exemplo, "Símbolo StringContaining&"). Se você usar aspas para incluir uma cadeia de caracteres que contenha um dos caracteres especiais, as aspas serão definidas como parte do valor da variável de ambiente.

  • Use variáveis de ambiente para controlar o comportamento de alguns arquivos e programas em lotes e para controlar a forma como o Windows e o subsistema MS-DOS aparecem e funcionam. O comando set geralmente é usado no arquivo Autoexec.nt para definir variáveis de ambiente.

  • Se você usar o comando set sem parâmetros, as configurações de ambiente atuais serão exibidas. Essas configurações geralmente incluem as variáveis de ambiente COMSPEC e PATH , que são usadas para ajudar a localizar programas no disco. Outras duas variáveis de ambiente usadas pelo Windows são PROMPT e DIRCMD.

  • Se você especificar valores para <variable> e <string>, o valor especificado <variable> for adicionado ao ambiente e <string> estiver associado a essa variável. Se a variável já existir no ambiente, o novo valor de cadeia de caracteres substituirá o valor de cadeia de caracteres antigo.

  • Se você especificar apenas uma variável e um sinal de igual (sem <string>) para o comando set , o <string> valor associado à variável será limpo (como se a variável não estivesse lá).

  • Se você usar o parâmetro / a, os seguintes operadores serão compatíveis, em ordem de precedência decrescente:

    Operador Operação executada
    ( ) Agrupamento
    ! ~ - Unário
    * / % Aritmético
    + - Aritmético
    << >> Mudança lógica
    & AND bit a bit
    ^ OR exclusivo bit a bit
    = *= /= %= += -= &= ^= = <<= >>=
    , Separador de expressão
  • Se você usar operadores lógicos (&& ou ||) ou módulos (%), coloque a cadeia de caracteres de expressão entre aspas. Todas as cadeias de caracteres não numéricas na expressão são consideradas nomes de variáveis de ambiente e seus valores são convertidos em números antes de serem processados. Se você especificar um nome de variável de ambiente que não esteja definido no ambiente atual, um valor de zero será alocado, o que permitirá que você execute aritmética com valores de variáveis de ambiente sem usar o % para recuperar um valor.

  • Se você executar o conjunto / a da linha de comando fora de um script de comando, ele exibirá o valor final da expressão.

  • Valores numéricos são números decimais, a menos que prefixados por 0× para números hexadecimal ou 0 para números octais. Portanto, 0×12 é igual a 18, que é o mesmo que 022.

  • O suporte à expansão de variável de ambiente atrasada está desabilitado por padrão, mas você pode habilitá-lo ou desabilitá-lo usando cmd /v.

  • Ao criar arquivos em lote, você pode usar o conjunto para criar variáveis e usá-las da mesma forma que usaria as variáveis numeradas %0 a %9. Você também pode usar as variáveis %0 a %9 como entrada para o conjunto.

  • Se você chamar um valor variável de um arquivo em lote, coloque o valor com sinais de porcentagem (%). Por exemplo, se o programa em lote criar uma variável de ambiente chamada BAUD, você poderá usar a cadeia de caracteres associada ao BAUD como um parâmetro substituível digitando %baud% no prompt de comando.

Exemplos

Para definir o valor TEST^1 para a variável de ambiente denominada testVar, digite:

set testVar=test^^1

O comando set atribui tudo o que segue o sinal de igual (=) ao valor da variável. Portanto, se você digitar set testVar=test^1, obterá o resultado testVar=test1a seguir.

Para definir o valor TEST&1 para a variável testVarde ambiente, digite:

set testVar=test^&1

Para definir uma variável de ambiente chamada INCLUDE para que a cadeia de caracteres c:\directory esteja associada a ela, digite:

set include=c:\directory

Em seguida, você pode usar a cadeia de caracteres c:\diretório em arquivos em lote colocando o nome INCLUDE com sinais de porcentagem (%). Por exemplo, você pode usar dir %include% em um arquivo em lote para exibir o conteúdo do diretório associado à variável de ambiente INCLUDE. Depois que esse comando é processado, a cadeia de caracteres c:\directory substitui %include%.

Para usar o comando set em um programa em lote para adicionar um novo diretório à variável de ambiente PATH , digite:

@echo off
rem ADDPATH.BAT adds a new directory
rem to the path environment variable.
set path=%1;%path%
set

Para exibir uma lista de todas as variáveis de ambiente que começam com a letra P, digite:

set p

Referências adicionais