Freigeben über


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]

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