Script de lote - declaração If

A primeira declaração de tomada de decisão é a declaração 'if'. A forma geral desta declaração no Batch Script é a seguinte -

if(condition) do_something

O funcionamento geral desta instrução é que primeiro uma condição é avaliada na instrução 'if'. Se a condição for verdadeira, ele executa as instruções. O diagrama a seguir mostra o fluxo doif declaração.

Verificando Variáveis

Um dos usos comuns para a instrução 'if' no Batch Script é para verificar as variáveis ​​definidas no próprio Batch Script. A avaliação da instrução 'if' pode ser feita para strings e números.

Verificando Variáveis ​​Inteiras

O exemplo a seguir mostra como a instrução 'if' pode ser usada para números.

Example

@echo off 
SET /A a = 5 
SET /A b = 10 
SET /A c = %a% + %b% 
if %c%==15 echo "The value of variable c is 15" 
if %c%==10 echo "The value of variable c is 10"

O principal ponto a ser observado sobre o programa acima é -

  • A primeira instrução 'if' verifica se o valor da variável c é 15. Em caso afirmativo, ela exibe uma string no prompt de comando.

  • Uma vez que a condição na instrução - if% c% == 10 echo "O valor da variável c for 10 for avaliado como falso, a parte do eco da instrução não será executada.

Output

O comando acima produz a seguinte saída.

15

Verificando Variáveis ​​de String

O exemplo a seguir mostra como a instrução 'if' pode ser usada para strings.

Example

@echo off 
SET str1 = String1 
SET str2 = String2 
if %str1%==String1 echo "The value of variable String1" 
if %str2%==String3 echo "The value of variable c is String3"

O principal ponto a ser observado sobre o programa acima é -

  • A primeira instrução 'if' verifica se o valor da variável str1 contém a string “String1”. Nesse caso, ele ecoa uma string no prompt de comando.

  • Visto que a condição da segunda instrução 'if' é avaliada como falsa, a parte do eco da instrução não será executada.

Output

O comando acima produz a seguinte saída.

"The value of variable String1"

Note - Uma coisa importante a notar é que a avaliação na instrução 'if' é "sensível a maiúsculas e minúsculas". O mesmo programa acima foi modificado um pouco como mostrado no exemplo a seguir. Na primeira instrução, mudamos os critérios de comparação Devido ao revestimento diferente, a saída do programa a seguir não renderia nada.

@echo off 
SET str1 = String1 
SET str2 = String2 
if %str1%==StrinG1 echo "The value of variable String1" 
if %str2%==String3 echo "The value of variable c is String3"

Verificando os argumentos da linha de comando

Outro uso comum da instrução 'if' é usado para verificar os valores dos argumentos da linha de comando que são passados ​​para os arquivos em lote. O exemplo a seguir mostra como a instrução 'if' pode ser usada para verificar os valores dos argumentos da linha de comando.

Example

@echo off 
echo %1 
echo %2 
echo %3 
if %1%==1 echo "The value is 1" 
if %2%==2 echo "The value is 2" 
if %3%==3 echo "The value is 3"

O principal ponto a ser observado sobre o programa acima é -

  • O programa acima assume que 3 argumentos de linha de comando serão passados ​​quando o script em lote for executado.

  • Uma comparação é feita para cada argumento da linha de comando com um valor. Se os critérios forem aprovados, uma string será enviada como saída.

Output

Se o código acima for salvo em um arquivo chamado test.bat e o programa for executado como

test.bat 1 2 3

A seguir será o resultado do programa acima.

1 
2 
3 
"The value is 1" 
"The value is 2" 
"The value is 3"