set (variável de ambiente)
Exibe, define ou remove variáveis de ambiente de cmd.exe. Se usado sem parâmetros, set exibe as configurações atuais da variável de ambiente.
Observação
Este 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 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> como uma linha de entrada inserida pelo usuário. |
<promptstring> |
Especifica uma mensagem para solicitar entrada ao usuário. Este 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 estiverem 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 especiais do Shell de comando e devem ser precedidos pelo caractere de escape (^
) ou colocados 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 para controlar a maneira 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 em disco. Duas outras variáveis de ambiente usadas pelo Windows são PROMPT e DIRCMD.
Se você especificar valores para
<variable>
e<string>
, o valor<variable>
especificado será adicionado ao ambiente e<string>
será associado a essa variável. Se a variável já existir no ambiente, o novo valor de cadeia de caracteres substituirá o valor antigo de cadeia de caracteres.Se você especificar apenas uma variável e um sinal de igual (sem
<string>
) para o comando set, o valor<string>
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 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 de 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 zero será alocado, o que permitirá que você execute a aritmética com valores de variáveis 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 habilitá-lo ou desabilitá-lo usando cmd /v.
Ao criar arquivos em lotes, você pode usar set 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 set.
Se você chamar um valor de variável de um arquivo em lotes, coloque o valor entre 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 a 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 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 seguinte resultado, testVar=TEST1
.
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 esteja associada a ela, digite:
set include=c:\directory
Em seguida, você pode usar a cadeia de caracteres c:\directory nos arquivos em lotes colocando o nome include entre sinais de porcentagem (%). Por exemplo, você pode usar dir %include%
em um arquivo em lotes para exibir o conteúdo do diretório associado à variável de ambiente include. Após o processamento desse comando, 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
Para exibir uma lista de todas as variáveis de ambiente no dispositivo atual, digite:
set