L'arithmétique à l'intérieur d'une boucle for fichier de commandes
J'ai une boucle for dans un fichier de commandes, qui ressemble à ceci:
for %%y in (100 200 300 400 500) do (
set /a x = y/25
echo %x%
)
La ligne:
set /a x = y/25
Ne semble pas faire une division. Quelle est la syntaxe correcte pour la divisant chaque y de 25? J'ai seulement besoin de l'entier résultat de cette division.
- DOS n'a pas
for
boucle et en mathématiques calcul de la capacité. Seulement Windows CMD n'. Ils sont complètement différents
Vous devez vous connecter pour publier un commentaire.
Les variables d'environnement ne doivent pas être étendus pour l'utiliser dans un JEU /UNE déclaration. Mais POUR les variables qui doivent être développés.
Aussi, même si votre calcul travaillé, l'ÉCHO aurait échoué car pour cent de l'expansion a lieu lorsqu'une instruction est analysée, et l'ensemble de la boucle FOR est analysée à la fois. Ainsi, la valeur de %x% serait la valeur telle qu'elle existait avant la boucle est exécutée. Pour obtenir la valeur qui a été mis dans la boucle, vous devez utiliser expansion retardée.
Aussi, vous devez supprimer l'espace avant de l'opérateur d'affectation. Vous êtes à la déclaration d'une variable avec un espace dans le nom.
C'est ne rien faire parce que "y" est juste une lettre. Vous avez besoin pour cent des signes de référence de la variable.
set /a
reconnaît automatiquement les variables, pas besoin de mettre%%
il