Komenda setlocal w systemie Windows jest używana w skryptach wsadowych (batch files) do lokalnego ustawienia zmiennych środowiskowych. Umożliwia to wykonanie sekwencji instrukcji w izolowanym kontekście, gdzie zmiany w zmiennych środowiskowych nie wpływają na otoczenie, w którym skrypt jest uruchamiany. Po zakończeniu działania skryptu, zmienne te są przywracane do stanu sprzed wywołania setlocal.
setlocal [Option]
| Parametr | Opis |
|---|---|
| /p | Umożliwia ustawienie zmiennej środowiskowej z określoną wartością. |
| /m | Oznacza, że zmienne będą dostępne tylko w kontekście wywołania skryptu. |
| /s | Umożliwia przekazywanie zmiennych do podskryptów. |
@echo off setlocal set MY_VAR=Hello World echo %MY_VAR% endlocal
W powyższym przykładzie skrypt ustawia zmienną MY_VAR na wartość „Hello World” w kontekście lokalnym. Gdy skrypt zostanie uruchomiony, zostanie wyświetlona wartość zmiennej. Po wykonaniu endlocal, zmienna MY_VAR przestaje istnieć, a jej wartość nie wpływa na inne części systemu.