Wenn die Befehlserweiterungen aktiviert sind, wird SET folgendermaßen verändert: Wenn der SET-Befehl mit nur einem Variablennamen ...

Wenn die Befehlserweiterungen aktiviert sind, wird SET folgendermaßen
verändert:

Wenn der SET-Befehl mit nur einem Variablennamen aufgerufen wird, d.h.
ohne Gleichheitszeichen oder einem anderen Wert, wird der Inhalt aller 
Variablen angezeigt, deren Namen mit eben diesem Buchstaben beginnen. So
werden durch

    SET P

alle Variablen angezeigt, die mit dem Buchstaben "P" beginnen.

Der SET-Befehl legt den ERRORLEVEL mit 1 fest, wenn der Variablenname nicht
in der aktuellen Umgebung gefunden wird.

Der SET-Befehl erlaubt kein Gleichheitszeichen als Bestandteil eines
Variablennamens.

Dem SET-Befehl wurden zwei neue Optionen hinzugefügt:

    SET /A Ausdruck
    SET /P Variable=[EingabeaufforderungZeichenfolge]

Die /A-Option gibt an, dass 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
    ! ~ -               - monäre Operatoren
    * / %%              - arithmetische Operatoren
    + -                 - arithmetische Operatoren
    << >>               - logische Verschiebung
                       - bitweise UND
    ^                   - bitweise exklusives ODER
    |                   - bitweise ODER
    = *= /= %%= += -=    - Zuordnung
    &= ^= |= <<= >>=
    ,                   - Trennzeichen für Ausdrücke

Wenn Sie einen der arithmetischen oder Moduloperatoren verwenden, müssen
Sie die Zeichenfolge für den Ausdruck in Anführungszeichen setzen. Alle
nicht-numerischen Zeichenfolgen im Ausdruck werden als Zeichenfolgen von
Umgebungsvariablen behandelt, deren Werte vor der Verwendung in Zahlen
konvertiert werden. Wenn eine Umgebungsvariable angegeben wird, die nicht
definiert ist, wird für diese der Wert Null verwendet. Somit können Sie
mit Umgebungsvariablen Berechnungen vornehmen, ohne %%-Zeichen einzugeben,
um deren Werte zu erhalten. Wenn der Befehl SET /A von der Befehlszeile,
d.h. außerhalb eines Befehlsskripts ausgeführt wird, dann zeigt er
den endgültigen Wert des Ausdrucks an. Der Zuordnungsoperator erfordert
eine Umgebungsvariable auf der linken Seite des Operators. Numerische Werte
stellen immer Dezimalzahlen dar, es sei denn, sie haben ein Präfix 0x für
hexadezimale Zahlen, 0b für binäre Zahlen oder 0 für oktale Zahlen. Damit
stellt 0x12 dieselbe Zahl wie 18 oder 022 dar. Beachten Sie, dass die oktale
Schreibweise verwirrend sein kann: So sind 08 und 09 keine gültigen Zahlen,
da 8 und 9 keine erlaubten oktalen Ziffern sind.