Clássico para Implementação de Loop
A seguir está a declaração clássica 'para' que está disponível na maioria das linguagens de programação.
Sintaxe
for(variable declaration;expression;Increment) {
statement #1
statement #2
…
}
A linguagem Batch Script não tem uma instrução 'for' direta que é semelhante à sintaxe acima, mas ainda é possível fazer uma implementação da instrução de loop 'for' clássica usando instruções if e rótulos.
A seguir está o fluxo geral da instrução clássica de loop 'for'.
Vejamos a implementação da sintaxe geral do loop for clássico em scripts em lote.
Set counter
:label
If (expression) exit loop
Do_something
Increment counter
Go back to :label
Todo o código para a implementação 'para' é colocado dentro de um rótulo.
As variáveis de contadores devem ser definidas ou inicializadas antes do início da implementação do loop 'for'.
A expressão para o loop 'for' é feita usando a instrução 'if'. Se a expressão for avaliada como verdadeira, uma saída será executada para sair do loop.
Um contador precisa ser incrementado adequadamente dentro da instrução 'if' para que a implementação 'for' possa continuar se a avaliação da expressão for falsa.
Finalmente, vamos voltar ao nosso rótulo para que possamos avaliar nossa instrução 'if' novamente.
A seguir está um exemplo de como realizar a implementação da clássica instrução de loop 'for'.
Exemplo
@echo off
SET /A i = 1
:loop
IF %i%==5 GOTO END
echo The value of i is %i%
SET /a i=%i%+1
GOTO :LOOP
:END
Resultado
O comando acima produz a seguinte saída.
The value of i is 1
The value of i is 2
The value of i is 3
The value of i is 4