J'ai besoin d'exécuter une commande windows n fois dans un fichier de script bat. Je sais comment faire cela dans divers langages de programmation, mais je n'arrive pas à le faire correctement sur la ligne de commande Windows :
Je m'attendais à quelque chose comme ça
for(int i = 0; i < 100; i++) {
// do something
}
ou même cela (mais pas entièrement au sérieux)
1.upto(100, {
// do something
})
Merci!
--- ([~ # ~] modifier [~ # ~]
Je peux écrire un programme en Java, Perl, c ou quoi que ce soit qui va générer un script bat qui ressemble à ceci
for %%N in (1 2 3 4 5 6 7 8 9 10 11 12) do echo %%N
etc. Ou encore "mieux":
echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
echo 11
echo 12
puis l'exécuter ... Mais le fait est que j'ai besoin d'un moyen concis pour spécifier une plage de nombres à parcourir à travers dans le script.
Merci!
Vous pouvez le faire de la même manière comme ceci:
ECHO Start of Loop
FOR /L %i IN (1,1,5) DO (
ECHO %i
)
Le 1,1,5 est décodé comme:
(start,step,end)
Notez également que si vous l'incorporez dans un fichier de commandes, vous devrez utiliser le signe du double pourcentage (%%) pour préfixer vos variables, sinon l'interpréteur de commandes essaiera d'évaluer la variable% i avant d'exécuter la boucle.
Directement depuis la ligne de commande:
for /L %n in (1,1,100) do @echo %n
Utilisation d'un fichier batch:
@echo off
for /L %%n in (1,1,100) do echo %%n
Affiche:
1
2
3
...
100