Mit den Befehlserweiterungen wird der SETLOCAL-Befehl wie folgt geändert: Der SETLOCAL-Batchbefehl akzeptiert jetzt optionale ...

Mit den Befehlserweiterungen wird der SETLOCAL-Befehl wie folgt geändert:

Der SETLOCAL-Batchbefehl akzeptiert jetzt optionale Argumente:
        ENABLEEXTENSIONS / DISABLEEXTENSIONS
            Aktiviert bzw. deaktiviert Befehlsprozessorerweiterungen. 
            Diese Argumente haben Vorrang gegenüber den Optionen 
            "CMD /E:ON" oder "CMD /E:OFF". Geben Sie CMD /?
            ein, um weitere Informationen zu erhalten.
        ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
            Aktiviert bzw. deaktiviert die verzögerte Erweiterung von
            Umgebungsvariablen. Diese Argumente haben Vorrang gegenüber
            den Optionen "CMD /V:ON" oder "/V:OFF". Geben Sie CMD /? ein,
            um weitere Informationen zu erhalten.
Diese Änderungen sind bis zum übereinstimmenden ENDLOCAL-Befehl gültig,
und zwar unabhängig von vorherigen Einstellungen für den SETLOCAL-Befehl.

Der SETLOCAL-Befehl legt einen ERRORLEVEL-Wert fest, wenn ein Argument
angegeben wird. Dieser ist 0, wenn eines der beiden gültigen
Argumente angegeben wird, und andernfalls 1. Kann in Batchskripts verwendet
werden, um festzustellen, ob die Erweiterungen verfügbar sind. Dies kann
wie folgt geprüft werden:

    VERIFY OTHER 2>nul
    SETLOCAL ENABLEEXTENSIONS
    IF ERRORLEVEL 1 echo   keine Befehlserweiterungen möglich

Dies funktioniert, da in älteren Versionen von CMD.EXE der
SETLOCAL-Befehl keinen ERRORLEVEL-Wert festlegt. Der VERIFY-Befehl mit einem
ungültigen Argument initialisiert den ERRORLEVEL-Wert mit einem Wert
ungleich 0.