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>
Efectua o processamento condicional em programas batch.
IF [NOT] número ERRORLEVEL comando
IF [NOT] cadeia1==cadeia2 comando
IF [NOT] EXIST nomefich comando
NOT Especifica que o Windows deve executar o comando
apenas se a condição for falsa.
número ERRORLEVEL Especifica uma condição verdadeira se a última execução
do programa devolveu um código de saída igual ou maior
que o número especificado.
cadeia1==cadeia2 Especifica uma condição verdadeira se o texto das
cadeias especificadas for igual.
EXIST nomefich Especifica uma condição verdadeira se existir
o nome de ficheiro especificado.
comando Especifica o comando a executar se a condição for
verificada. O comando pode ser seguido pelo comando
ELSE que executará o comando depois da palavra chave
ELSE se a condição especificada for FALSE
A classe ELSE tem de ocorrer na mesma linha do comando a seguir ao IF. Por
exemplo:
IF EXIST nomefich. (
del nomefich.
) ELSE (
echo nomefich. Em falta.
)
O seguinte NÃO funcionaria porque o comando del necessita de terminar
com uma linha nova:
IF EXIST nomefich. del nomefich. ELSE echo nomefich. em falta
Nem o seguinte funcionaria, uma vez que o comando ELSE tem de estar
na mesma linha que o fim do comando IF:
IF EXIST nomefich. del nomefich.
ELSE echo nomefich. em falta
O seguinte funcionaria se colocasse tudo na mesma linha:
IF EXIST nomefich. (del nomefich.) ELSE echo nomefich. em falta
Se as extensões de comandos estiverem activadas, o IF é alterado do seguinte
modo:
IF [/I] cadeia1 op-comparação cadeia2 comando
IF CMDEXTVERSION número comando
IF DEFINED variável comando
onde op-comparação pode ser um de:
EQU - igual a
NEQ - não igual a
LSS - menor que
LEQ - menor ou igual a
GTR - maior que
GEQ - maior ou igual a
e o parâmetro /I, se for especificado, indica a comparação entre cadeias
sem sensibilidade a maiúsculas e minúsculas. O parâmetro /I também pode ser
utilizado na forma cadeia1==cadeia2 de IF. Estas comparações são genéricas,
pelo que se a cadeia1 e a cadeia2 forem constituídas apenas por dígitos
numéricos, as cadeias são convertidas em números e é efectuada uma comparação
numérica.
O CMDEXTVERSION condicional funciona da mesma forma que o ERRORLEVEL, excepto
na comparação que é feita contra um número de versão interna associado às
extensões de comandos. A primeira versão é 1. Será incrementada de uma
unidade
sempre que forem adicionadas melhorias significativas às extensões de
comandos.
O CMDEXTVERSION condicional nunca é verdadeiro quando as extensões de
comandos
estão desactivadas.
O DEFINED condicional funciona da mesma forma que o EXISTS mas toma um nome
de uma variável de ambiente e devolve verdadeiro se a variável de ambiente
estiver definida.
O %ERRORLEVEL% expandirá para uma representação em cadeia do
valor actual do ERRORLEVEL, desde que não exista já uma variável
com o nome ERRORLEVEL, em cujo caso obterá o seu valor. Depois de
executar um programa, o que se segue ilustra a utilização do ERRORLEVEL:
goto resposta%ERRORLEVEL%
:resposta0
echo O programa devolveu o código 0
:resposta1
echo O programa devolveu o código 1
Também pode, através das comparações numéricas já indicadas:
IF %ERRORLEVEL% LEQ 1 goto ok
%CMDCMDLINE% expandirá para a linha de comandos original passada para
o CMD.EXE antes de qualquer processamento por parte do CMD.EXE, desde que
não exista já uma variável de ambiente com o nome CMDCMDLINE, em cujo caso
obterá o seu valor.
O %CMDEXTVERSION% expandirá para uma representação em cadeia do valor actual
do CMDEXTVERSION, desde que não exista já uma variável de ambiente com o nome
CMDEXTVERSION, em cujo caso obterá 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.