Arithmetik innerhalb einer for-Schleife batch-Datei
Habe ich eine for-Schleife in einer batch-Datei, die wie folgt aussieht:
for %%y in (100 200 300 400 500) do (
set /a x = y/25
echo %x%
)
Die Zeile:
set /a x = y/25
Scheint nicht zu tun, jede division. Was ist die korrekte syntax für Division jedes y von 25? Ich brauche nur das ganzzahlige Ergebnis dieser division aus.
DOS muss nicht
for
Schleife und Mathe Berechnung Fähigkeiten. Nur Windows CMD nicht. Sie sind völlig verschiedeneInformationsquelleAutor dr_rk | 2012-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Umwelt-Variablen müssen nicht erweitert werden, um in einem SET /A-Anweisung. Aber FÜR Variablen erweitert werden muss.
Ebenfalls, auch wenn Ihre Berechnung gearbeitet, das ECHO ausfallen würde, weil-Prozent-ausbau erfolgt, wenn eine Anweisung analysiert, und das gesamte Konstrukt analysiert wird, auf einmal. Also den Wert %x% wäre der Wert, wie es existierte, bevor die Schleife ausgeführt wird. Um den Wert, der festgelegt wurde, innerhalb der Schleife, die Sie verwenden sollten, verzögerte expansion.
Außerdem sollten Sie entfernen das Leerzeichen vor dem Zuweisungsoperator. Sie deklarieren eine variable mit einem Leerzeichen im Namen.
InformationsquelleAutor dbenham
Es ist nichts zu tun, denn "y" ist nur ein Brief. Sie brauchen, Prozent-Zeichen, um auf die variable verweisen.
Es nicht teilen, es ist dein ECHO, das nicht. Siehe meine Antwort
set /a
erkennt automatisch die Variablen, keine Notwendigkeit zu setzen%%
esInformationsquelleAutor Nilpo