O comando: "IF" está ativado Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponível
Os exemplos para o comando "IF"
O
`IF`O comando no prompt de comando do Windows é usado para executar instruções condicionais em scripts em lote. aqui estão alguns exemplos:
Exemplo 1: Verificação de igualdade simples:
@ECHO OFF
SET Variable1=10
SET Variable2=10
IF %Variable1% EQU %Variable2% (
ECHO As variáveis são as mesmas.
) ELSE (
ECHO As variáveis não são iguais.
)
Descrição: Neste exemplo as variáveis
`Variable1`e
`Variable2`comparado. Se forem iguais, aparece a mensagem “As variáveis são iguais”. saída, caso contrário
"As variáveis não são iguais."
Exemplo 2: Verificando a existência do arquivo:
@ECHO OFF
IF EXIST C:\Exemplo.txt (
ECHO o arquivo existe.
) ELSE (
ECHO O arquivo não existe.
)
Descrição: Verifica se o arquivo “Example.txt” existe no diretório C:\. Se o arquivo existir, a mensagem correspondente será emitida, caso contrário, a outra.
Exemplo 3: Verificando a entrada do usuário:
@ECHO OFF
SET /P entrada_do_usuário=por favor insira um valor:
IF "%entrada_do_usuário%"=="" (
ECHO Você não inseriu um valor.
) ELSE (
ECHO Eles têm "%entrada_do_usuário%" entrou.
)
Descrição: Verifica se o usuário inseriu um valor. Se nenhuma entrada tiver sido feita, a mensagem
"Você não inseriu um valor." saída, caso contrário, a sequência de caracteres inserida será exibida.
Exemplo 4: Verificando o tamanho do arquivo:
@ECHO OFF
SET arquivo=C:\Exemplo.txt
SET Tamanho_mínimo=1024
FOR %%A IN (%arquivo%) DO SET tamanho do arquivo=%%~zA
IF %tamanho do arquivo% GEQ %Tamanho_mínimo% (
ECHO O arquivo atende ao tamanho mínimo.
) ELSE (
ECHO O arquivo é muito pequeno.
)
Descrição: O tamanho do arquivo “Example.txt” é verificado aqui. Se o tamanho do arquivo for maior ou igual ao tamanho mínimo (
`Tamanho_mínimo`), a mensagem
"O arquivo atende ao tamanho mínimo." saída, caso contrário
"O arquivo é muito pequeno."
Exemplo 5: Verificando o sistema operacional:
@ECHO OFF
VER | FIND "Windows 10" > NUL
IF %ERRORLEVEL% EQU 0 (
ECHO você usa Windows 10.
) ELSE (
ECHO Você está usando um sistema operacional diferente.
)
Descrição: Isto verifica se o sistema operacional é o Windows 10. Nesse caso, a mensagem “Você está usando o Windows 10”. caso contrário,
"Você está usando um sistema operacional diferente."
O
`IF`torna possível verificar várias condições em scripts em lote e tomar as ações apropriadas com base nos resultados.
"IF" Trecho da Ajuda do Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Executa o processamento condicional nos programas em lotes.
IF [NOT] ERRORLEVEL número comando
IF [NOT] cadeia_de_caracteres1==cadeia_de_caracteres2 comando
IF [NOT] EXIST nome_de_arquivo comando
NOT Especifica que o Windows só deve executar o
comando se a condição for falsa.
ERRORLEVEL número Especifica uma condição verdadeira se o
último programa executado retornar um código de
saída igual ou maior que o número especificado.
cadeia_de_caracteres1==cadeia_de_caracteres2 Especifica uma condição
verdadeira se as cadeias de caracteres de texto
especificadas
forem correspondentes.
EXIST nome_de_arquivo Especifica uma condição verdadeira se o nome de
arquivo especificado existir.
comando Especifica o comando a ser executado se a condição
for atendida. O comando pode ser seguido pelo
comando ELSE, que executará o comando após a
palavra-chave ELSE se a condição especificada
for FALSA
A cláusula ELSE deve ocorrer na mesma linha que o comando após o IF. Por
exemplo:
IF EXIST nome_de_arquivo. (
del nome_de_arquivo.
) ELSE (
echo nome_de_arquivo. ausente.
)
O exemplo a seguir NÃO funcionaria porque o comando del precisa ser terminado
por uma nova linha:
IF EXIST nome_de_arquivo. del nome_de_arquivo. ELSE echo nome_de_arquivo.
ausente
O exemplo a seguir também não funcionaria, já que o comando ELSE deve estar
na mesma linha que o final do comando IF:
IF EXIST nome_de_arquivo. del nome_de_arquivo.
ELSE echo nome_de_arquivo. ausente
O exemplo a seguir funcionaria se você desejasse tudo isso em uma linha:
IF EXIST nome_de_arquivo. (del nome_de_arquivo.) ELSE echo
nome_de_arquivo.
ausente
Se as extensões de comando estiverem ativadas, IF será alterado como a
seguir:
IF [/I] cadeia de caracteres1 op_comparação cadeia de caracteres2 comando
IF CMDEXTVERSION número comando
IF DEFINED variável comando
onde op_comparação pode ser uma das seguintes:
EQU - igual
NEQ - diferente
LSS - menor que
LEQ - menor que ou igual
GTR - maior que
GEQ - maior que ou igual
e a opção /I, se especificada, informa para fazer comparações de cadeias
de caracteres sem diferenciação de maiúsculas e minúsculas. A opção /I também
pode ser usada na fórmula cadeia de caracteres1==cadeia de caracteres2 de IF.
Essas comparações
são genéricas, pois se cadeia de caracteres1 e cadeia de caracteres2
contiverem todos os dígitos
numéricos, as cadeias de caracteres serão convertidas em números e será
executada uma comparação numérica.
A condicional CMDEXTVERSION funciona como ERRORLEVEL, exceto por comparar
com um número de versão interno associado às extensões de comandos. A
primeira
versão é 1. Ela será incrementada em um quando melhoras significativas forem
adicionadas às extensões de comandos. A condicional CMDEXTVERSION nunca
é verdadeira quando as extensões de comandos estão desativadas.
A condicional DEFINED funciona como EXISTS, exceto por usar um nome de
variável de ambiente e ser verdadeira se a variável de ambiente estiver
definida.
%ERRORLEVEL% expandirá para uma representação de cadeia de caracteres
do valor atual de ERRORLEVEL, contanto que ainda não exista uma variável
de ambiente com o mesmo nome ERRORLEVEL, pois; nesse caso, será obtido o
seu valor. Após executar um programa, o exemplo a seguir ilustra o uso
de ERRORLEVEL:
goto resposta%ERRORLEVEL%
:resposta0
echo O programa retornou o código 0
:resposta1
echo O programa retornou o código 1
Também é possível usar as comparações numéricas acima:
IF %ERRORLEVEL% LEQ 1 goto okay
%CMDCMDLINE% expandirá para a linha de comando original transferida para
CMD.EXE antes de qualquer processamento pelo CMD.EXE, contanto que ainda não
exista uma variável de ambiente com o nome CMDCMDLINE, pois, nesse caso, será
obtido o seu valor.
%CMDEXTVERSION% expandirá para uma representação da cadeia de
caracteres do valor atual de CMDEXTVERSION, contanto que ainda não exista uma
variável de ambiente com o nome CMDEXTVERSION, pois, neste caso, será obtido
o seu valor.
Informações importantes, dicas para o comando "IF"
Ao usar o
`IF`declaração no prompt de comando do Windows, há alguns pontos importantes a serem observados:
1.
Sintaxe da condição: A sintaxe do
`IF`-A declaração requer a redação correta da condição. O operador de comparação (
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`) deve estar entre os valores a serem comparados. Observe os espaços na sintaxe para evitar erros inesperados.
2.
Uso de aspas: Ao validar strings, é importante usar aspas para garantir que a condição seja avaliada corretamente. Exemplo:
`IF "%Variable%"=="Valor" ...`
3.
Variáveis: se você usar variáveis na condição, certifique-se de que elas correspondam corretamente
`%`estão fechados, como em
`%Variable%`. Isso garante que o valor da variável seja inserido corretamente na condição.
4.
Instrução ELSE: A
`ELSE`declaração deve estar na mesma linha que o parêntese de fechamento de
`IF`pare ou comece em uma nova linha. Exemplo:
IF Doença (
Echo A condição é verdadeira.
) ELSE (
Echo A condição é falsa.
)
5.
Nota`%ERRORLEVEL%`após um comando: Se você tiver o
`IF`comando após outro comando, você pode
`%ERRORLEVEL%`para verificar o sucesso ou falha deste comando. Exemplo:
DIR C:\Diretório_inexistente
IF %ERRORLEVEL% NEQ 0 (
Echo Erro ao executar DIR-comando.
)
6.
Comparações Numéricas: Para comparações numéricas você deve
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`para garantir que as comparações sejam feitas corretamente.
7.
Operadores Lógicos: Você pode usar operadores lógicos como
`AND`(
`&&`) e
`OR`(
`||`) para criar condições complexas. Exemplo:
IF Exist arquivo.txt IF %Variable% EQU Valor (
Echo Ambas as condições são verdadeiras.
)
8.
Combinação com outros comandos: Você pode fazer isso
`IF`-Combine instruções com outros comandos para executar diferentes ações com base nas condições.
9.
Espaço em branco: Tenha cuidado para não usar espaços em branco desnecessários em suas condições ou comandos, pois isso pode levar a um comportamento inesperado.
É importante entender a sintaxe do
`IF`-Entenda as instruções cuidadosamente e certifique-se de que as condições sejam formuladas corretamente para alcançar o comportamento desejado. Se não tiver certeza, você pode consultar a documentação oficial da Microsoft ou recursos online.