J'ai besoin d'exécuter une commande Windows n fois dans un fichier de script de chauve-souris. 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 dans le script.
Merci!
Réponses:
Vous pouvez le faire de la même manière comme ceci:
Le 1,1,5 est décodé comme:
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.
la source
@
signe supprime l'impression des commandes lorsqu'elles sont exécutées à partir de la ligne de commande. "... DO @ (..."%%i
dans votre texte et d'ajouter un commentaire selon lequel il est%i
destiné à une exécution directe en ligne de commande. La plupart des utilisateurs vont le tester dans le fichier BAT et essayer de trouver la raison pour laquelle ils obtiennent une erreur (comme moi).La syntaxe est
Bon article ici et spécificités XP ici
la source
Directement depuis la ligne de commande:
Utilisation d'un fichier batch:
Affiche:
la source