setlocal

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

Syntax

setlocal [enableextensions | disableextensions] [enabledelayedexpansion | disabledelayedexpansion]

Parameters

Parameter Description
enableextensions Aktiviert die Befehlserweiterungen, bis der entsprechende endlocal-Befehl gefunden wird, unabhängig von der Einstellung, bevor der setlocal-Befehl ausgeführt wurde.
disableextensions Deaktiviert die Befehlserweiterungen, bis der entsprechende endlocal-Befehl gefunden wird, unabhängig von der Einstellung, bevor der setlocal-Befehl ausgeführt wurde.
enabledelayedexpansion Aktiviert die verzögerte Erweiterung der Umgebungsvariablen, bis der entsprechende endlocal-Befehl gefunden wird, unabhängig von der Einstellung, bevor der setlocal-Befehl ausgeführt wurde.
disabledelayedexpansion Deaktiviert die verzögerte Erweiterung der Umgebungsvariablen, bis der entsprechende endlocal-Befehl gefunden wird, unabhängig von der Einstellung, bevor der setlocal-Befehl ausgeführt wurde.
/? Zeigt hilfe an der Eingabeaufforderung an.

Remarks

  • 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 dem Ausführen von setlocal vorgenommen werden, sind lokal in der Batchdatei. Das Cmd.exe Programm stellt vorherige Einstellungen wieder her, wenn es auf einen endlocal-Befehl stößt oder das Ende der Batch-Datei erreicht.

  • Sie können mehr als einen setlocal - oder endlocal-Befehl in einem Batch-Programm haben (d. h. verschachtelte Befehle).

  • Der Befehl setlocal legt die Variable ERRORLEVEL fest. Wenn Sie {enableextensions | disableextensions} oder {enabledelayedexpansion | disabledelayedexpansion} übergeben, wird die Variable ERRORLEVEL auf 0 (null) festgelegt. Andernfalls wird sie auf 1 gesetzt. 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 Variable ERRORLEVEL nicht festlegt, wenn Befehlserweiterungen deaktiviert sind, initialisiert der Befehl verify die Variable ERRORLEVEL auf einen Wert ungleich Null, wenn Sie ihn mit einem ungültigen Argument verwenden. Wenn Sie den Befehl setlocal mit den Argumenten {enableextensions | disableextensions} oder {enabledelayedexpansion | disabledelayedexpansion} verwenden und die Variable ERRORLEVEL nicht auf 1 festgelegt wird, sind Befehlserweiterungen nicht verfügbar.

Examples

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