setlocal

Startet die Lokalisierung von Umgebungsvariablen in einer Batchdatei. Die Lokalisierung wird fortgesetzt, bis ein übereinstimmende endlocal-Befehl gefunden wird oder das Ende der Batchdatei erreicht ist.

Syntax

setlocal [enableextensions | disableextensions] [enabledelayedexpansion | disabledelayedexpansion]

Parameter

Parameter Beschreibung
enableextensions Aktiviert die Befehlserweiterungen, bis der entsprechende endlocal-Befehl gefunden wird, unabhängig von der Einstellung vor der Ausführung des setlocal-Befehls .
disableextensions Deaktiviert die Befehlserweiterungen, bis der entsprechende endlocal-Befehl gefunden wird, unabhängig von der Einstellung vor der Ausführung des setlocal-Befehls .
enabledelayedexpansion Aktiviert die verzögerte Erweiterung der Umgebungsvariablen, bis der entsprechende endlocal-Befehl gefunden wird, unabhängig von der Einstellung vor der Ausführung des setlocal-Befehls .
disabledelayedexpansion Deaktiviert die verzögerte Erweiterung der Umgebungsvariablen, bis der entsprechende endlocal-Befehl gefunden wird, unabhängig von der Einstellung vor der Ausführung des setlocal-Befehls .
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Bemerkungen

  • Wenn Sie setlocal außerhalb eines Skripts oder einer Batchdatei verwenden, hat dies keine Auswirkungen.

  • Verwenden Sie setlocal , um Umgebungsvariablen zu ändern, wenn Sie eine Batchdatei ausführen. Umgebungsänderungen, die nach der Ausführung von setlocal vorgenommen werden, sind für die Batchdatei lokal. Das Cmd.exe Programm stellt vorherige Einstellungen wieder auf, wenn ein endlocal-Befehl oder das Ende der Batchdatei erreicht wird.

  • Sie können mehrere setlocal- oder endlocal-Befehle in einem Batchprogramm (d. h. geschachtelte Befehle) verwenden.

  • Der Befehl setlocal legt die Variable ERRORLEVEL fest. Wenn Sie {enableextensionsdisableextensions} oder {enabledelayedexpansiondisabledelayedexpansion} übergeben, wird die ERRORLEVEL-Variable auf 0 (null) festgelegt. Andernfalls ist er auf 1 festgelegt. Sie können diese Informationen in Batchskripts verwenden, um zu bestimmen, ob die Erweiterungen verfügbar sind, wie im folgenden Beispiel gezeigt:

    verify other 2>nul
    setlocal enableextensions
    if errorlevel 1 echo Unable to enable extensions
    

    Da cmd die ERRORLEVEL-Variable nicht festgelegt, wenn Befehlserweiterungen deaktiviert sind, initialisiert der Verify-Befehl die ERRORLEVEL-Variable auf einen Wert ungleich null, wenn Sie sie mit einem ungültigen Argument verwenden. Wenn Sie den Befehl setlocal mit den Argumenten {enableextensionsdisableextensions} oder {enabledelayedexpansiondisabledelayedexpansion} verwenden und die ERRORLEVEL-Variable nicht auf 1 festgelegt wird, sind keine Befehlserweiterungen verfügbar.

Beispiele

Führen Sie das folgende Beispielskript aus, um Umgebungsvariablen in einer Batchdatei zu lokalisieren:

rem *******Begin Comment**************
rem This program starts the superapp batch program on the network,
rem directs the output to a file, and displays the file
rem in Notepad.
rem *******End Comment**************
@echo off
setlocal
path=g:\programs\superapp;%path%
call superapp>c:\superapp.out
endlocal
start notepad c:\superapp.out

Weitere Verweise