Se le estensioni dei comandi sono attivate, il comando SET verrà modificato come segue: Se il comando SET viene richiamato ...

Se le estensioni dei comandi sono attivate, il comando SET verrà modificato
come segue:

Se il comando SET viene richiamato specificando solo un nome di variabile,
senza segno di uguale o valore, visualizzerà i valori di tutte le variabili
con prefisso corrispondente al nome passato al comando SET. Ad esempio:

    SET P

visualizza tutte le variabili che iniziano con la lettera 'P'.

Se il nome della variabile non viene trovato nell'ambiente corrente,
ERRORLEVEL verrà impostato su 1.

Il comando SET non consente di includere il segno uguale (=) nei
nomi delle variabili.

Al comando SET sono state aggiunte due nuove opzioni:

    SET /A espressione
    SET /P variabile=[StringaPrompt]

L'opzione /A indica che la stringa alla destra dell'uguale è un'espressione
numerica da valutare. L'analizzatore di espressioni è piuttosto semplice e
supporta le operazioni seguenti, in ordine di precedenza decrescente:

    ()                  - Raggruppamento
    ! ~ -               - Operatori unari
    * / %%              - Operatori aritmetici
    + -                 - Operatori aritmetici
    << >>               - Shift logico
                       - AND bit per bit
    ^                   - OR esclusivo bit per bit
    |                   - OR bit per bit
    = *= /= %%= += -=   - Assegnazione
      &= ^= |= <<= >>=
    ,                   - Separatore di espressione

Se si utilizzano operatori logici o di modulo, sarà necessario racchiudere
tra virgolette la stringa dell'espressione. Le stringhe non numeriche 
presenti in un'espressione vengono gestite come nomi di variabili di ambiente,
i cui valori vengono convertiti in numeri prima dell'utilizzo. Se è
specificato il nome di una variabile di ambiente non definita nell'ambiente
corrente, verrà utilizzato il valore zero. Questo consente di eseguire
operazioni aritmetiche con le variabili di ambiente senza dover digitare i
caratteri %% necessari per ottenere i relativi valori. Se si esegue SET /A
dalla riga di comando al di fuori di uno script di comandi, verrà visualizzato
il valore finale dell'espressione. Se si utilizza l'operatore di assegnazione,
sarà necessario specificare il nome di una variabile di ambiente a sinistra
dell'operatore. I valori numerici sono numeri decimali, a meno che non siano
preceduti dal prefisso 0x, che indica i numeri esadecimali, o 0, per i numeri
ottali. Il valore 0x12 corrisponde quindi al valore decimale 18 e al valore
ottale 022. La notazione ottale può creare confusione: i valori 08 e 09 non
sono numeri validi, perché 8 e 9 non sono cifre ottali valide.