IF
Executa processamento condicional em programas de lote. Se a condição especificada por um comando IF for verdadeira, o MS-DOS executa o comando que se segue … condição. Se a condição for falsa, o MS-DOS ignora o comando. Este comando só pode ser usado em programas de lote.
Sintaxe
IF [NOT] ERRORLEVEL número comando
IF [NOT] sequencia1==sequencia2 comando
IF [NOT] EXIST nome-de-arquivo comando
Parâmetros
NOT
Especifica que o MS-DOS só execute o comando se a condição for falsa.
ERRORLEVEL número
Especifica uma condição verdadeira somente se o programa anterior executado pelo COMMAND.COM tiver devolvido um código de saída maior ou igual ao número.
comando
Especifica o comando a ser executado pelo MS-DOS se a condição anterior for cumprida.
sequencia1==sequencia2
Especifica uma condição verdadeira somente se sequencia1 e sequencia2 forem iguais. Esses valores podem ser seqüências literais ou variáveis de lote (ex: %1). As seqüências literais não necessitam de aspas.
EXIST nome-de-arquivo
Especifica uma condição verdadeira se o nome-de-arquivo existir.
Exemplos :
O exemplo abaixo testa a existência de um diretório. O comando IF não pode ser usado para testar um diretório diretamente, mas existe o dispositivo nulo (NUL) em todos os diretórios da unidade de disco rígido. Portanto é possível testar o dispositivo nulo para saber se existe determinado diretório na unidade de disco rígido.
if exist c:\meudir\nul goto processo
O exemplo a seguir exibe a mensagem "Impossível encontrar arquivo de dados" se o MS-DOS não conseguir encontrar o arquivo PRODUTO.DAT:
if not exist produto.dat echo Impossível encontrar arquivo de dados
Quando um programa é interrompido, ele devolve um código de saída ao MS-DOS.
Por exemplo, o valor 0 ‚ tipicamente usado para indicar que um programa foi executado com sucesso. O parâmetro ERRORLEVEL permite utilizar os códigos de saída como condições.
O exemplo a seguir exibe uma mensagem de erro se ocorrer erro durante a formatação de um disco na unidade A. Se não ocorrer erro, a mensagem de erro será pulada.
:begin
echo off
format a: /s
if not errorlevel 1 goto fim
echo Ocorreu um erro durante a formatação.
:fim
echo Fim do programa de lote.
Para obter outro exemplo de utilização do parâmetro ERRORLEVEL, consulte o comando <CHOICE>.