set (variável de ambiente)

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

Observação

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

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

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> como uma linha de entrada inserida pelo usuário.
<promptstring> Especifica uma mensagem para solicitar a entrada do usuário. Esse parâmetro deve ser usado com o parâmetro /p.
/a Define <string> como uma expressão numérica avaliada.
<expression> Especifica uma expressão numérica.
/? Exibe a ajuda no prompt de comando.

Comentários

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

  • Os caracteres , , , e são caracteres de shell de comando especiais e devem ser precedido pelo caractere de escape ( ) ou entre aspas quando usados em <>|&^^<string> (por exemplo, "StringContaining & Symbol"). 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 controlar a maneira como 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 encontrar programas em disco. Duas outras variáveis de ambiente usadas pelo Windows são PROMPT e DIRCMD.

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

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

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

    Operador Operação executada
    ( ) Agrupamento
    ! ~ - Unário
    * / % Aritmético
    + - Aritmético
    << >> Deslocamento lógico
    & AND bit a bit
    ^ OR exclusivo bit a bit
    = *= /= %= += -= &= ^= = <<= >>=
    , Separador de expressão
  • Se você usar operadores lógicos ( ou ) ou módulo ( ), coloque a cadeia de &&|| caracteres % de expressão entre aspas. Quaisquer 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 ser processados. Se você especificar um nome de variável de ambiente que não está definido no ambiente atual, um valor de zero será alocado, o que permite executar aritmética com valores de variável de ambiente sem usar o % para recuperar um valor.

  • Se você executar set /a na 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 hexadecimais ou 0 para números octais. Portanto, 0×12 é o mesmo que 18, que é o mesmo que 022.

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

  • Ao criar arquivos em lotes, você pode usar set para criar variáveis e, em seguida, usá-los da mesma maneira que usaria as variáveis numeradas %0 a %9. Você também pode usar as variáveis %0 a %9 como entrada para definir.

  • Se você chamar um valor de variável de um arquivo em lotes, coloque o valor com sinais de porcentagem ( % ). Por exemplo, se o programa em lotes 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 chamada , 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 a seguir, testVar=test^1 .

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

set testVar=test^&1

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

set include=c:\directory

Em seguida, você pode usar a cadeia de caracteres c:\directory em arquivos em lotes, delimitando o nome INCLUDE com sinais de porcentagem ( ). Por exemplo, você pode usar em um arquivo em lotes para exibir o conteúdo do dir %include% 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 lotes 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