SETLOCAL: Beginnt den lokalen Gültigkeitsbereich von Umgebungsänderungen in einer Batchdatei.


... Die Beispiele zum Befehl "SETLOCAL"
... "SETLOCAL" Auszug aus der Microsoft Windows-Hilfe
... Wichtige Informationen, Tipps zum Befehl "SETLOCAL"

Der Befehl: "SETLOCAL" ist auf Windows 11, 10, .. verfügbar

Die Beispiele zum Befehl "SETLOCAL"

Der `SETLOCAL`-Befehl in der Windows-Eingabeaufforderung wird verwendet, um lokal Umgebungsvariablen in einer Batch-Datei zu setzen. Hier sind einige Beispiele für die Verwendung von `SETLOCAL`: Beispiel 1: Lokale Umgebungsvariable setzen:

@ECHO OFF
SETLOCAL
SET LOKALE_VARIABLE=Inhalt
ECHO %LOKALE_VARIABLE%

Beschreibung: In diesem Beispiel wird die Umgebungsvariable `LOKALE_VARIABLE` innerhalb des lokal begrenzten Bereichs (durch `SETLOCAL` und `ENDLOCAL`) gesetzt und kann nur innerhalb dieses Bereichs verwendet werden. Beispiel 2: Zurücksetzen auf vorherigen Status:

@ECHO OFF
SET GLOBALE_VARIABLE=GlobalerInhalt

SETLOCAL
SET LOKALE_VARIABLE=LokalerInhalt
ECHO Lokale Variable: %LOKALE_VARIABLE%
ECHO Globale Variable: %GLOBALE_VARIABLE%

ENDLOCAL
ECHO Lokale Variable (außerhalb des lokal begrenzten Bereichs): %LOKALE_VARIABLE%

Beschreibung: Hier wird die lokale Umgebungsvariable `LOKALE_VARIABLE` gesetzt und innerhalb des lokal begrenzten Bereichs verwendet. Nach `ENDLOCAL` kehrt das Skript zum vorherigen Status zurück, und die lokale Variable ist außerhalb des lokal begrenzten Bereichs nicht mehr verfügbar. Beispiel 3: Schachtelung von SETLOCAL:

@ECHO OFF
SETLOCAL
SET VARIABLE1=Wert1
ECHO Innerer Bereich: %VARIABLE1%

SETLOCAL
SET VARIABLE2=Wert2
ECHO Äußerer Bereich: %VARIABLE1%, %VARIABLE2%

ENDLOCAL
ECHO Außerhalb des lokal begrenzten Bereichs: %VARIABLE1%, %VARIABLE2%

Beschreibung: Hier wird der `SETLOCAL`-Befehl zweimal geschachtelt. Die Variable `VARIABLE2` ist nur im inneren lokal begrenzten Bereich sichtbar, während `VARIABLE1` im äußeren und im inneren Bereich sichtbar ist. Beispiel 4: Aktivieren der erweiterten Verarbeitung von Umgebungsvariablen:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET VARIABLE=Inhalt
ECHO Vor Verzögerter Expansion: %VARIABLE%
SET VARIABLE=NeuerInhalt
ECHO Nach Verzögerter Expansion: !VARIABLE!

Beschreibung: Durch Verwendung von `ENABLEDELAYEDEXPANSION` können Umgebungsvariablen mit einem Ausrufezeichen `!` anstelle von Prozentzeichen `%` für verzögerte Expansion verwendet werden. Die `SETLOCAL`-Umgebung ermöglicht es, Variablen lokal für eine Batch-Datei zu setzen, wodurch Änderungen nur in einem begrenzten Bereich gelten und nicht global auf das gesamte Skript wirken. Dies ist besonders nützlich, wenn du möchtest, dass Änderungen an Umgebungsvariablen innerhalb eines bestimmten Abschnitts des Skripts begrenzt sind.

"SETLOCAL" Auszug aus der Microsoft Windows-Hilfe

Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.

C:\\WINDOWS>

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 folgendermaßen verändert:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
Aktiviert bzw. deaktiviert Befehlserweiterungen. Geben Sie
CMD /? ein, um weitere Informationen zu erhalten.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
Aktiviert bzw. deaktiviert die verzögerte Erweiterung von
Umgebungsvariablen. Geben Sie SET /? ein, um weitere Informationen
zu erhalten.
Diese Änderungen sind bis zum nächsten ENDLOCAL-Befehl gültig,
und zwar unabhängig von vorherigen Einstellungen.

Der SETLOCAL-Befehl legt einen ERRORLEVEL fest, wenn ein Argument angegeben
wird. Dieser ist gleich Null für eines der beiden gültigen Argumente und
gleich Eins andernfalls. Das kann man in Batchprogrammen verwenden, um
festzustellen, ob die Befehlserweiterungen zur Verfügung stehen. Siehe dazu
auch folgendes Beispiel:

VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo keine Befehlserweiterungen

Dieses Verfahren kann man verwenden, weil in älteren Versionen von CMD.EXE der
SETLOCAL-Befehl keinen ERRORLEVEL festlegt. Der VERIFY-Befehl mit einem
ungültigen Argument initialisiert den Wert für den ERRORLEVEL mit ungleich
Null.

Wichtige Informationen, Tipps zum Befehl "SETLOCAL"

Ja, es gibt einige wichtige Aspekte zu beachten, wenn du den `SETLOCAL`-Befehl in der Windows-Eingabeaufforderung oder in Batch-Skripten verwendest: 1. Begrenzter Geltungsbereich: `SETLOCAL` erstellt einen begrenzten Geltungsbereich für Umgebungsvariablen. Änderungen an Umgebungsvariablen innerhalb dieses Bereichs wirken sich nicht auf die globale Umgebung oder andere lokal begrenzte Bereiche aus. Beachte, dass `SETLOCAL` und `ENDLOCAL` paarweise verwendet werden sollten.

    SETLOCAL
    REM ... Hier sind Änderungen an Umgebungsvariablen lokal
    ENDLOCAL
    
2. Verschachtelung: Du kannst `SETLOCAL` verschachteln, um mehrere lokal begrenzte Bereiche zu erstellen. Jeder `SETLOCAL` sollte jedoch mit einem entsprechenden `ENDLOCAL` beendet werden.

    SETLOCAL
    REM Innerer lokal begrenzter Bereich
        SETLOCAL
        REM Noch tieferer lokal begrenzter Bereich
        ENDLOCAL
    ENDLOCAL
    
3. Verzögerte Expansion: Du kannst mit `SETLOCAL ENABLEDELAYEDEXPANSION` die verzögerte Expansion aktivieren. Dabei wird die Variable mit `!` anstelle von `%` umschlossen. Verzögerte Expansion ermöglicht es, Variablen während der Laufzeit auszuwerten, nicht nur beim Lesen der Batch-Datei.

    SETLOCAL ENABLEDELAYEDEXPANSION
    SET VARIABLE=Inhalt
    ECHO Vor Verzögerter Expansion: %VARIABLE%
    SET VARIABLE=NeuerInhalt
    ECHO Nach Verzögerter Expansion: !VARIABLE!
    ENDLOCAL
    
4. Globale Umgebungsvariablen: Änderungen an Umgebungsvariablen, die innerhalb eines `SETLOCAL`-Bereichs gemacht werden, haben keine Auswirkungen auf globale Umgebungsvariablen außerhalb des Bereichs.

    SET GLOBAL=GlobalerInhalt
    SETLOCAL
    SET GLOBAL=LokalerInhalt
    ECHO Innerhalb des lokal begrenzten Bereichs: %GLOBAL%
    ENDLOCAL
    ECHO Außerhalb des lokal begrenzten Bereichs: %GLOBAL%
    
5. Rückgängigmachen von Änderungen: Wenn du Änderungen in einem lokal begrenzten Bereich rückgängig machen möchtest, kehre einfach zu dem Zustand vor dem `SETLOCAL` zurück, indem du `ENDLOCAL` verwendest.

    SETLOCAL
    REM Änderungen hier
    ENDLOCAL
    REM Rückgängigmachen der Änderungen
    
Es ist wichtig, `SETLOCAL` und `ENDLOCAL` sorgfältig und paarweise zu verwenden, um sicherzustellen, dass Umgebungsvariablen korrekt begrenzt werden und die erwarteten Auswirkungen haben.


Deutsch
English
Español
Français
Italiano
日本語 (Nihongo)
한국어 (Hangugeo)
汉语 (Hànyǔ)
Türkçe
Português
Português
Svenska
Norsk
Dansk
Suomi
Nederlands
Polski









Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



Beginnt den lokalen Gültigkeitsbereich von Umgebungsänderungen in einer Batchdatei.

HTTP: ... console/de/059.htm
0.108
19787

Nur den externen Monitor am Surface Pro oder Laptop nutzen bei Win 10 / 11!

Windows 10 Internet Explorer, how do I find the status bar / menu bar?

Die Dauer/Länge von MP3-Dateien und Videos vom Ordner im Datei-Explorer!

So geben Sie Emoji mit der Touch-Tastatur (Bildschirmtastatur) ein auf Windows 10!

Windows 11, 10 Desktop ist weg, was kann ich tun - Problem Lösungen?

Das Umstellen auf Bing Suche in Google Chrome auf Windows 10!



(0)