Polecenie: "ENDLOCAL" jest włączone Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. dostępne
Przykłady polecenia "ENDLOCAL"
The
`ENDLOCAL`polecenie jest używane w wierszu poleceń systemu Windows do kończenia lokalnych zmiennych środowiskowych skojarzonych z plikiem
`SETLOCAL`wszczęto dowództwo. Oto kilka przykładów:
Przykład 1: Uruchamianie i zatrzymywanie środowiska lokalnego:
@ECHO OFF
SETLOCAL
SET Name=John
ECHO W środowisku lokalnym: %Name%
ENDLOCAL
ECHO Poza lokalnym obszarem: %Name%
Opis: Ten przykład uruchamia środowisko lokalne za pomocą
`SETLOCAL`, definiuje zmienną lokalną (
`Name`), wypisuje wartość wewnątrz i na zewnątrz środowiska lokalnego, a następnie opuszcza środowisko lokalne za pomocą
`ENDLOCAL`.
Przykład 2: Użycie ENDLOCAL w pętli:
@ECHO OFF
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET Counter=%%A
ECHO Wewnątrz pętli: %Counter%
ENDLOCAL
)
ECHO Poza pętlą: %Counter%
Opis: Oto
`SETLOCAL`używane w pętli do tworzenia środowiska lokalnego.
`ENDLOCAL`następnie kończy środowisko lokalne na końcu każdej iteracji pętli.
Przykład 3: Środowisko lokalne ze zwracaną wartością:
@ECHO OFF
CALL :LocalFunction
ECHO Nie działa: %ReturnValue%
GOTO :EOF
:LocalFunction
SETLOCAL
SET ReturnValue=To jest wartość zwracana
ENDLOCAL & SET ReturnValue=%ReturnValue%
GOTO :EOF
Opis: Funkcja (
`:LocalFunction`) utworzone przy użyciu środowiska lokalnego
`SETLOCAL`zaczyna się i z
`ENDLOCAL`wysłałem. Wartość zwracana jest używana poza funkcją.
Przykład 4: Używanie ENDLOCAL w pliku wsadowym:
@ECHO OFF
CALL :Start
ECHO Nie działa: %GlobalVariable%
GOTO :EOF
:Start
SETLOCAL
SET GlobalVariable=to jest globale Variable
CALL :InnerFunction
ENDLOCAL & SET GlobalVariable=%GlobalVariable%
GOTO :EOF
:InnerFunction
SET LocalVariable=To jest lokalny Variable
ECHO Wewnątrz funkcji: %LocalVariable%
GOTO :EOF
Opis: Oto
`SETLOCAL`w funkcji głównej (
`:Start`) wykorzystywane do tworzenia środowiska lokalnego. W tej funkcji podfunkcja (
`:InnerFunction`) zwany.
`ENDLOCAL`jest używany w funkcji main do wyjścia ze środowiska lokalnego podczas aktualizacji wartości zmiennej globalnej.
The
`ENDLOCAL`instrukcja kończy środowisko lokalne i resetuje zmienne środowiskowe do poprzedniej wartości
`SETLOCAL`-Komenda. Jeśli chcesz użyć zmiennej środowiskowej ze środowiska lokalnego poza tym, powinieneś to zrobić bezpośrednio
`ENDLOCAL`Do. Należy pamiętać, że zmienne lokalne nie są dostępne poza ich środowiskiem lokalnym.
"ENDLOCAL" Fragment Pomocy systemu Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Sprawia, ze zmiany srodowiska w pliku wsadowym nie beda lokalne.
Zmiany srodowiska dokonane po wydaniu polecenia ENDLOCAL nie sa
lokalne dla
pliku wsadowego. Poprzednie ustawienia nie sa przywracane po
zakonczeniu
pliku wsadowego.
ENDLOCAL
Przy wlaczonych rozszerzeniach polecenie ENDLOCAL zmienia sie
nastepujaco:
Jesli odpowiednie polecenie SETLOCAL wlaczylo lub wylaczylo
rozszerzenia
polecen za pomoca opcji ENABLEEXTENSIONS lub DISABLEEXTENSIONS,
to po poleceniu ENDLOCAL stan (wlaczony lub wylaczony) rozszerzen
polecen
zostanie przywrócony do stanu poprzedzajacego uzycie tego
polecenia SETLOCAL.
Ważna informacja, wskazówki dotyczące polecenia "ENDLOCAL"
Podczas korzystania z
`ENDLOCAL`w wierszu poleceń systemu Windows, należy zwrócić uwagę na kilka ważnych punktów:
1.
Zmienne lokalne: `ENDLOCAL`kończy środowisko lokalne, a wszystkie zmienne lokalne utworzone w tym środowisku są odrzucane. Zmienne te są wg
`ENDLOCAL`nie jest już dostępny poza środowiskiem zlokalizowanym.
2.
Wartości zwracane: Jeśli chcesz używać wartości ze środowiska lokalnego poza tym, musisz to zrobić natychmiast po
`ENDLOCAL`-Wykonaj polecenie. Przykład:
SETLOCAL
SET LocalVar=Cześć
ENDLOCAL & SET OutsideVar=%LocalVar%
3.
Zagnieżdżone`SETLOCAL`/`ENDLOCAL`: Jeśli ty
`SETLOCAL`użyte wiele razy w pliku wsadowym, każdy powinien
`SETLOCAL`z odpowiedniego
`ENDLOCAL`być przestrzegane. Każdy
`ENDLOCAL`kończy się najbliższy
`SETLOCAL`-Instrukcja.
4.
Dziedziczenie zmiennych: Zmienne utworzone w środowisku zlokalizowanym nie są dziedziczone do środowisk nadrzędnych. Środowiska lokalne są zwykle widoczne tylko dla bieżącego procesu wsadowego.
5.
Kolejność wykonania: `ENDLOCAL`jest wykonywane w kolejności, w jakiej
`SETLOCAL`został wezwany. Oznacza to, że na pierwszym miejscu znajduje się ostatnie zlokalizowane środowisko
`ENDLOCAL`wysłałem.
6.
Pliki i funkcje wsadowe: W plikach wsadowych w funkcjach często używane są zlokalizowane środowiska. Kiedy wychodzisz z funkcji, a
`ENDLOCAL`wykonane, chyba że funkcja ta została użyta
`GOTO :EOF`Lub
`EXIT /B`Zostawić. W takim przypadku wskazane jest wprowadzenie ręczne
`ENDLOCAL`dodać.
7.
Użyj w pętlach: Jeśli
`SETLOCAL`w pętli przy każdym uruchomieniu pętli tworzone jest nowe środowisko lokalne. Upewnij się, że ty
`ENDLOCAL`poprawnie, aby mieć pewność, że zmienne lokalne zostaną zwolnione w razie potrzeby.
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET LocalVar=Cześć
ECHO %LocalVar%
ENDLOCAL
)
8.
Zasoby procesu: Zastosowanie
`SETLOCAL`I
`ENDLOCAL`może pomóc w oszczędzaniu zasobów procesu, szczególnie gdy w pliku wsadowym zdefiniowano i użyto wielu zmiennych. Ograniczenie zakresu zmiennych do określonych sekcji kodu pozwala na efektywniejsze wykorzystanie zasobów pamięci.
Podsumowując, jest to ważne
`SETLOCAL`I
`ENDLOCAL`należy używać ostrożnie, aby zapewnić właściwą obsługę zmiennych i prawidłowe zarządzanie zlokalizowanymi środowiskami. Jest to szczególnie istotne w przypadku złożonych skryptów lub funkcji wsadowych.