Startet die Begrenzung des Gültigkeitsbereiches von Umgebungsänderungen in einer Batchdatei.

setlocal-470.png?nocache=1312966640403 

Startet die Begrenzung des Gültigkeitsbereiches von Änderungen.
Änderungen der Umgebung nach SETLOCAL sind nur auf die Batchdatei bezogen.
Um die ursprünglichen Einstellungen wiederherzustellen, muss der Befehl
ENDLOCAL ausgeführt werden. Beim Erreichen des Endes einer Batchdatei wird ein
impliziertes ENDLOCAL für jegliche ausstehende SETLOCAL-Befehle ausgeführt.

SETLOCAL

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.