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"