Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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]
Die Parameter
Parameter | BESCHREIBUNG |
---|---|
Erweiterungen aktivieren | Aktiviert die Befehlserweiterungen, bis der übereinstimmende Endlocal- Befehl gefunden wird, unabhängig von der Einstellung, bevor der befehl setlocal ausgeführt wurde. |
Erweiterungen deaktivieren | Deaktiviert die Befehlserweiterungen, bis der übereinstimmende Endlocal- Befehl gefunden wird, unabhängig von der Einstellung, bevor der befehl setlocal ausgeführt wurde. |
Verzögerte Erweiterung ermöglichen | Aktiviert die verzögerte Umgebungsvariablenerweiterung, bis der übereinstimmende Endlocal- Befehl gefunden wird, unabhängig von der Einstellung, bevor der befehl setlocal ausgeführt wurde. |
disabledelayedErweiterung | Deaktiviert die verzögerte Umgebungsvariablenerweiterung, bis der übereinstimmende Endlocal- Befehl gefunden wird, unabhängig von der Einstellung, bevor der befehl setlocal ausgeführt wurde. |
/? | Zeigt hilfe an der Eingabeaufforderung an. |
Bemerkungen
Wenn Sie setlocal- außerhalb eines Skripts oder einer Batchdatei verwenden, hat dies keine Auswirkung.
Verwenden Sie setlocal-, um Umgebungsvariablen zu ändern, wenn Sie eine Batchdatei ausführen. Umgebungsänderungen, die nach dem Ausführen setlocal- in der Batchdatei lokal sind. Das Cmd.exe Programm stellt vorherige Einstellungen wieder her, wenn ein Endlocal--Befehl auftritt oder das Ende der Batchdatei erreicht wird.
Sie können mehrere setlocal oder Endlocal--Befehl in einem Batchprogramm (d. a. geschachtelte Befehle) haben.
Der befehl setlocal befehl legt die ERRORLEVEL-Variable fest. Wenn Sie {enableextensions | disableextensions} oder {enabledelayedexpansion | disabledelayedexpansion} übergeben, wird die ERRORLEVEL-Variable auf 0 (null) festgelegt. Andernfalls ist sie auf 1festgelegt. 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 festlegen, wenn Befehlserweiterungen deaktiviert sind, überprüft die , Befehl initialisiert die ERRORLEVEL-Variable auf einen Wert ungleich Null, wenn Sie sie mit einem ungültigen Argument verwenden. Wenn Sie auch den Befehl setlocal mit Argumenten {enableextensions | disableextensions} oder {enabledelayedexpansion | disabledelayedexpansion} verwenden und die ERRORLEVEL-Variable nicht auf 1festlegen, sind Befehlserweiterungen nicht verfügbar.
Beispiele
Um Umgebungsvariablen in einer Batchdatei zu lokalisieren, folgen Sie diesem Beispielskript:
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