Setlocal - Informuje system, że zmiany dokonane
przez program są lokalne.
Endlocal - Informuje system, o zakończeniu
sekcji zmian lokalnych dokonanych przez program.
1: @echo off
2: echo Zmienne systemowe:
3: echo %path%
4: echo .
5: setlocal
6: set path=c:\moje programy
7: echo Zmienne po zmianie:
8: echo %path%
9: echo .
10: endlocal
11: echo Zmienne systemowe:
12: echo %path%
13: echo .
Pisząc programy wsadowe często bardzo pomocne staje się
zmienienie zmiennych systemowych. Pamiętać jednak musimy aby po zakończeniu
programu przywrócić wcześniejsze ustawienia. Gdybyśmy tego nie zrobili inne
aplikacje uruchamianie w systemie mogły by przestać działać prawidłowo. Komendy
setlocal oraz endlocal zapewniają nam bezpieczeństwo
w czasie pisania naszych programów. Mianowicie sprawiają, że wszystkie zmiany
jakich dokonamy na zmiennych systemowych są lokalne i nie maja wpływu na
ustawienia komputera po zakończeniu programu wsadowego. W naszym programie w
wierszu trzecim, ósmym i dwunastym wyświetlamy zmienną systemową path.
Zmieniamy ją w wierszu szóstym jednak zmiana ta nie jest zauważalna po
zakończeniu programu ponieważ zastosowaliśmy dwie wyżej wymienione komendy.
Przydatne zmienne systemowe zostały opisane tutaj

Nasz program nazywa się program.bat i znajduje się na
dysku c:\. Uruchamiamy go wpisując w Wierszu polecenia jego nazwę
czyli program. Wszystko co znajduje się pod pierwszą linijką
C:\>program
zostało wygenerowane przez nasz program wsadowy. Używamy w programach komend,
które zostały opisane wcześniej w tabeli. Jeżeli coś jest nie zrozumiałe należy
cofnąć się do poprzednich objaśnień. W kodzie programu numerujemy linie aby
prościej było źródło omawiać. W programach wsadowych zabronione jest numerowanie
kolejnych wierszy.