Eu preciso executar um comando do Windows n vezes dentro de um arquivo de script bat. Eu sei como fazer isso em várias linguagens de programação, mas não consigo acertar na linha de comando do Windows :-(
Eu esperaria algo como qualquer um
for(int i = 0; i < 100; i++) {
// do something
}
ou mesmo isso (embora não totalmente a sério)
1.upto(100, {
// do something
})
Obrigado!
EDITAR
Eu posso escrever um programa em java, perl, c ou qualquer outro que gere um script de bat que se pareça com isso
for %%N in (1 2 3 4 5 6 7 8 9 10 11 12) do echo %%N
e assim por diante. Ou ainda "melhor":
echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
echo 11
echo 12
e, em seguida, executá-lo... Mas o problema é que eu preciso de uma maneira concisa de especificar um intervalo de números para iterar dentro do script.
Obrigado!
Você pode fazer da mesma forma assim:
O 1,1,5 é decodificado como:
Observe também que, se você estiver incorporando isso em um arquivo de lote, precisará usar o sinal de porcentagem dupla (%%) para prefixar suas variáveis, caso contrário, o interpretador de comandos tentará avaliar a variável %i antes de executar o loop.
Diretamente da linha de comando:
Usando um arquivo em lotes:
Exibe:
A sintaxe é
Bom artigo aqui e detalhes do XP aqui