Przejdź do głównej zawartości

endlocal

Komenda endlocal umożliwia w skryptach wsadowych do zakończenia lokalnego zakresu zmiennych środowiskowych. Umożliwia przywrócenie stanu zmiennych sprzed wywołania polecenia setlocal, co pozwala kontrolować zmiany środowiska w obrębie skryptu.


endlocal
  • Polecenie nie przyjmuje parametrów ani przełączników.
  • Stosowane wyłącznie w skryptach wsadowych, w parze z setlocal.

Okno terminala
@echo off
set VAR=Globalna
echo Przed setlocal: %VAR%
setlocal
set VAR=Lokalna
echo Wewnątrz setlocal: %VAR%
endlocal
echo Po endlocal: %VAR%

W tym przykładzie wartość zmiennej VAR po zakończeniu lokalnego zakresu powraca do wartości globalnej.


  • endlocal zawsze kończy najbliższy aktywny blok setlocal. Jeśli setlocal nie został wcześniej wywołany, polecenie nie ma efektu.
  • Pozwala zachować porządek w skryptach, aby zmienne i ustawienia środowiska nie zmieniały globalnego kontekstu.
  • Jest wbudowaną komendą CMD i nie wymaga dodatkowych plików wykonywalnych.

Błąd / KomunikatPrzyczynaRozwiązanie
Brak zmian po endlocalNie było aktywnego bloku setlocalUpewnij się, że setlocal został wcześniej użyty
Zmienna nie wraca do poprzedniej wartościZmienna została nadpisana poza blokiem setlocalSprawdź strukturę skryptu i umiejscowienie zmiennych