Je dois exécuter une commande Windows n fois dans un fichier bat script. Je sais comment faire dans différents langages de programmation mais je n'arrive pas à le faire correctement sur la ligne de commande Windows :-(
Je m'attendrais à quelque chose comme
for(int i = 0; i < 100; i++) {
// do something
}
ou même ceci (mais pas tout à fait sérieusement)
1.upto(100, {
// do something
})
Merci !
EDITAR
Je peux écrire un programme en java, perl, c ou autre qui va générer un bat script qui ressemble à ceci
for %%N in (1 2 3 4 5 6 7 8 9 10 11 12) do echo %%N
et ainsi de suite. Ou même "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
et ensuite l'exécuter... Mais le problème est que j'ai besoin d'un moyen concis de spécifier une plage de nombres à parcourir par itération... sur le script.
Merci !
1 votes
Les réponses ici sont parfaitement bonnes, mais pour l'amour de Dieu... le lot ? Vraiment ? Je vous recommande vivement de passer à une langue plus moderne.
0 votes
Il n'a pas l'air d'avoir le choix.
0 votes
Je n'ai rien vu qui implique qu'il n'y a pas de choix. En fait, il dit qu'il peut écrire dans "n'importe quelle" langue, donc je dirais que sans plus d'informations, il semble qu'il ait le choix.
0 votes
Les gars, j'ai besoin de déployer du code qui est écrit dans un langage moderne PAR un script...
0 votes
Cela n'explique toujours pas pourquoi lot un script est nécessaire.
1 votes
Que ce soit nécessaire ou non, c'est parfois le bon outil pour le travail. Vous ne pouvez pas garantir que powershell, et encore moins bash, Python, perl, etc. soient installés sur une boîte de serveur Windows XP ou 2003. Le traitement par lots est une solution parfaitement acceptable.
0 votes
En outre, il y a une astuce astucieuse dans le script de lot qui utilise une sous-routine pour appeler ping localhost dans une boucle, mettant effectivement en pause le script 1 seconde pour chaque ping. C'est un moyen relativement simple (et portable) d'obtenir que le script fasse une pause et de tirer parti d'une boucle comme documenté ici.