Axel Richter: Batch, Variable durch Schleife mit xen erweitern

Beitrag lesen

Hallo,

for /L %%a in (1,1,5) do set zahl=%zahl%x
Eine Frage nebenbei: Was bewirkt /L?

/L bewirkt, dass ein Loop erfolgt. Ohne /L erwartet FOR nach dem Schlüsselwort IN in den Klammern einen Satz von Dateinamen.
c:> help for | more
...
FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]

Der Satz ist eine Folge von Zahlen von Start bis Ende und der
    angegebenen Schrittweite. So erzeugt (1,1,5) die Folge 1 2 3 4 5
    und (5,-1,1) erzeugt die Folge (5 4 3 2 1).
...

set /A i=%i%+1
Also ist doch eine Rechnung mit Batch möglich? Ist /A die Anweisung, das folgende (i=%i%+1) als Rechnung/Addition zu behandeln?

Ja, seit Windows NT4.0.
c:> help set | more
...
Dem SET-Befehl wurde eine neue Option hinzugefügt:

SET /A Ausdruck

Die /A-Option gibt an, daß die Zeichenfolge rechts vom Gleichheitszeichen ein numerischer Ausdruck ist, der ausgewertet wird. Das Auswertungsprogramm des Ausdrucks unterstützt dabei die folgenden Vorgänge, entsprechend ihrer Anordnung mit abnehmendem Vorrang:

()                  - Gruppierung
    * / %               - arithmetische Operatoren
    + -                 - arithmetische Operatoren
    << >>               - logische Verschiebung
    &                   - bitweise UND
    ^                   - bitweise Exklusives ODER
    |                   - bitweise ODER
    = *= /= %= += -=    - Zuordnung
      &= ^= |= <<= >>=
    ,                   - Trennzeichen für Ausdrücke
...

viele Grüße

Axel