Je souhaite effectuer plusieurs fois une opération à partir d'une fenêtre de commande. Le bon sens me dit qu'une boucle FOR devrait être capable de gérer cela. Effectivement, si je veux exécuter, disons, myProg.exe
, Je peux ouvrir une fenêtre de commande et utiliser:
C:\> FOR %i in (1 2 3) DO myProg.exe
Facile.
Mais que faire si je veux exécuter myProg.exe
1000 fois? Je veux spécifier une plage dans la boucle FOR, mais j'ai du mal à voir comment procéder.
Intuitivement, il semble que je devrais être capable de faire quelque chose comme l'un des suivants:
C:\> FOR %i in (1 to 1000) DO myProg.exe
C:\> FOR %i in (1-1000) DO myProg.exe
Mais, bien sûr, cela ne fonctionne pas. La boucle FOR interprète la liste comme 3 jetons et 1 jeton, respectivement, donc myProg.exe
n'est exécuté que 3 fois et 1 fois, respectivement.
Solution de fichier batch
Il serait probablement facile d'écrire une sorte de fichier batch (.bat):
SET COUNT=0
:MyLoop
IF "%COUNT%" == "1000" GOTO EndLoop
myProg.exe
SET /A COUNT+=1
GOTO MyLoop
:EndLoop
Mais n'y a-t-il pas un moyen facile de le faire à partir de la ligne de commande?
Vous pouvez utiliser la balise/l dans votre instruction pour la faire parcourir un ensemble de nombres.
par exemple.
C: \> POUR/l% i dans (1,1,1000) DO myProg.exe
Cela dit boucle à travers la plage, en commençant à 1, en progressant 1 à la fois, jusqu'à 1000
pour/l %% i in (1,1,100) faire écho %% i
ajouter un autre signe% avant de travailler