ColorConsole [Version 1.3.3000]
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS>HELP SET
Apresenta, define ou remove as variáveis de ambiente do cmd.exe.

SET [variável=[cadeia]]

variável Especifica o nome da variável de ambiente.
cadeia Especifica uma série de caracteres para atribuir à variável.

Escreva SET sem parâmetros para apresentar as variáveis de ambiente actuais.

Se as extensões de comandos estiverem activadas, o SET é alterado da seguinte
forma:

O comando SET invocado só com um nome de uma variável, sem sinal de igual nem
valor apresentará o valor de todas as variáveis cujo prefixo corresponda ao
nome dado ao comando SET. Por exemplo:

SET P

apresentaria todas as variáveis começadas pela letra 'P'

O comando SET definirá o ERRORLEVEL para 1 se o nome da variável não for
encontrado no ambiente actual.

O comando SET não permite que o sinal de igual faça parte do nome de
uma variável.

Dois novos parâmetros foram adicionados ao comando SET:

SET /A expressão
SET /P variável=[pergunta]

O parâmetro /A especifica que a cadeia à direita do sinal de igual
é uma expressão numérica que é avaliada. O avaliador da expressão
é bastante simples e suporta as seguintes operações, pela ordem
decrescente de precedência:

() - agrupar
! ~ - - operadores unários
* / % - operadores aritméticos
+ - - operadores aritméticos
<< >> - deslocamento lógico
& - e lógico
^ - ou exclusivo lógico
| - ou lógico
= *= /= %= += -= - atribuição
&= ^= |= <<= >>=
, - separador de expressões

Se utilizar qualquer dos operadores lógicos ou de módulo, terá de colocar
a cadeia entre aspas. Quaisquer cadeias não numéricas da expressão são
tratadas como nomes de variáveis de ambiente cujos valores são convertidos
para números antes de esta ser utilizada. Se for especificado o nome de uma
variável de ambiente que não esteja definida no ambiente actual, então é
utilizado o valor zero. Isto permite-lhe efectuar operações aritméticas com
os valores das variáveis de ambiente sem ter escrever todos os sinais %
para obter os seus valores. Se o SET /A for executado a partir da linha de
comandos fora de um script de comandos, então é apresentado o valor final da
expressão. O operador de atribuição requer um nome de variável de ambiente à
esquerda do operador de atribuição. Os valores numéricos são números
decimais,
a não ser que antecedidos por 0x para números hexadecimais e 0 para números
octais.
Assim, 0x12 é igual a 18 e igual a 022. Note que a notação octal pode ser
confusa: 08 e 09 não são números válidos porque 8 e 9 não são dígitos octais
válidos.

O parâmetro /P permite-lhe definir o valor de uma variável para uma linha de
entrada introduzida pelo utilizador. Apresenta a pergunta especificada antes
de ler a linha de entrada. A pergunta pode ser vazia.

A substituição de variáveis de ambiente foi melhorada da seguinte forma:

%PATH:str1=str2%

expandiria a variável de ambiente PATH, substituindo cada ocorrência
de "str1" no resultado expandido por "str2". "str2" pode ser a cadeia
vazia para eliminar eficazmente todas as ocorrências de "str1" da saída
expandida. "str1" pode começar com um asterisco, fazendo corresponder
tudo desde o início da saída expandida até à primeira ocorrência da
restante parte de str1.

Também é possível especificar subcadeias de uma expansão.

%PATH:~10,5%

expandiria a variável de ambiente PATH e, em seguida, utilizaria apenas os 5
caracteres a partir do 11º carácter (deslocamento 10) do resultado expandido.
Se o comprimento não for especificado, então toma o valor predefinido do
resto
do valor da variável. Se algum dos números (deslocamento ou comprimento) for
negativo, então o número utilizado é o comprimento do valor da variável de
ambiente adicionado ao deslocamento ou comprimento especificado.

%PATH:~-10%

extrairia os últimos 10 caracteres da variável PATH.

%PATH:~0,-2%

extrairia todos menos os últimos 2 caracteres da variável PATH.

Finalmente, foi adicionado o suporte para a expansão de variáveis de
ambiente atrasadas. Este suporte é sempre desactivado por predefinição,
mas pode ser activado/desactivado pelo parâmetro da linha de comandos
/V do CMD.EXE. Consulte CMD /?

A expansão de variáveis de ambiente atrasadas é útil para ultrapassar
as limitações da expansão actual que acontecem quando é lida uma linha
de texto, não quando é executada. O exemplo seguinte demonstra o problema
da expansão de variáveis imediata:

set VAR=antes
if "%VAR%" == "antes" (
set VAR=depois;
if "%VAR%" == "depois" @echo Se conseguir ler isto, funcionou
)

nunca apresentaria a mensagem, porque %VAR% em AMBAS as instruções IF
é substituída quando é lida a primeira instrução IF, uma vez que inclui
logicamente o corpo do IF, que é uma instrução composta. Assim, o IF
dentro da instrução composta está realmente a comparar "antes" com "depois",
que nunca serão iguais. Da mesma forma, o seguinte exemplo não funcionará
como esperado:

set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%

porque NÃO constrói uma lista de ficheiros do directório actual, mas vai,
em vez disso, definir a variável LIST como o último ficheiro encontrado.
Novamente, isto acontece porque %LIST% só é expandida uma vez quando
é lida a instrução FOR e, naquela altura, a variável LIST é vazia.
Assim o ciclo FOR que está a ser executado realmente é:

for %i in (*) do set LIST= %i

que apenas define sempre a LIST como o último ficheiro encontrado.

A expansão de variáveis de ambiente atrasada permite-lhe utilizar um
carácter diferente (o ponto de exclamação) para expandir variáveis de
ambiente durante a execução. Se for activada a expansão de variáveis
atrasada, os exemplos anteriores poderiam ser escritos da seguinte
forma para funcionarem como pretendido:

set VAR=antes
if "%VAR%" == "antes" (
set VAR=depois
if "!VAR!" == "depois" @echo Se conseguir ler isto, funcionou
)

set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%

Se as extensões de comandos estiverem activadas, então existem várias
variáveis de ambiente dinâmicas que podem ser expandidas mas que não
aparecem na lista de variáveis apresentadas pelo SET. Estes valores de
variáveis são calculados dinamicamente de cada vez que o valor da variável
é expandido.
Se o utilizador definir explicitamente a variável com um destes nomes,
então essa definição substituirá a definição dinâmica descrita em baixo:

%CD% - expande para a cadeia de directório actual.

%DATE% - expande para a data actual utilizando o mesmo formato
do comando DATE.

%TIME% - expande para a hora actual utilizando o mesmo formato
do comando TIME.

%RANDOM% - expande para um número decimal aleatório entre 0 e 32767.

%ERRORLEVEL% - expande para o valor do ERRORLEVEL actual.

%CMDEXTVERSION% - expande para o número da versão das extensões
do processador de comandos actual.

%CMDCMDLINE% - expande para a linha de comandos original que invocou
o processador de comandos.



C:\WINDOWS>HELP SETLOCAL
Inicia a localização de alterações de ambiente num ficheiro batch.
As alterações de ambiente efectuadas depois de ser emitido o SETLOCAL
são locais ao ficheiro batch. O ENDLOCAL tem de ser emitido para restaurar
as definições anteriores. Quando é alcançado o fim de um script de comandos,
um ENDLOCAL implícito é executado para quaisquer comandos SETLOCAL pendentes
emitidos por esse script de comandos.

SETLOCAL

Se as extensões de comandos estiverem activadas, o SETLOCAL é alterado
da seguinte forma:

Agora, o comando de batch SETLOCAL aceita argumentos opcionais:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
Activar ou desactivar extensões do processador de comandos.
Consulte CMD /? para mais detalhes.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
Activar ou desactivar expansões de variáveis de ambiente
atrasadas. Consulte SET /? para mais detalhes.
Estas modificações duram até ao comando ENDLOCAL correspondente,
independentemente da sua definição antes do comando SETLOCAL.

O comando SETLOCAL definirá o valor de ERRORLEVEL se for dado um
argumento. Será zero se for dado um dos dois argumentos válidos e
um no caso contrário. Pode utilizar isto nos scripts de comandos
para determinar se as extensões estão disponíveis, utilizando a
seguinte técnica:

VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Não é possível activar as extensões

Isto funciona porque nas versões anteriores do CMD.EXE, o SETLOCAL não
define o valor do ERRORLEVEL. O comando VERIFY com um argumento incorrecto
inicializa o valor do ERRORLEVEL com um valor diferente de zero.



C:\WINDOWS>HELP SHIFT
Altera a posição de parâmetros substituíveis num ficheiro batch.

SHIFT [/n]

Se as extensões de comandos estiverem activadas, o comando SHIFT suporta
o parâmetro /n que indica ao comando para deslocar a partir do
n-ésimo argumento, onde o n pode ser um valor entre zero e oito. Por exemplo:

SHIFT /2

deslocará %3 para %2, %4 para %3, etc. e não afecta o %0 e o %1.




GOTO : HELP SORT









... Windows-10




Windows 10 How To

... Windows 10 FAQ
... Windows 10 How To




Prompt SET - Mostra, define ou remove variáveis de ambiente do Windows.

HTTP: ... console/pt/058.htm
0.202
15513

Got a gray cast when scanning despite white paper?

 /

Automatically turn off monitor even without power options in Windows 11, 10, 8.1, ...!

 /

Has DesktopOK Save option for correct layout naming at multi-screens?

 /

Redirect CMD command output to a file, with an example?

 /

The Windows 11 wallpapers!

 /

How can I change the favorites folder in Quad-Directory-Explorer?

 /

Split, format, shrink new hard drive step by step ...!

 /

Keyboard settings Windows 10/11!

 /

The computer was protected by Windows - turn it off (deactivate)!

 /

Start Windows Terminal as admin in Windows 11!

 /

Can I still create files on Windows 11 that are not compressible?

 /

When the computer or monitor does not go into sleep mode!

 /