Setlocal, Endlocal

Setlocal, Endlocal

Autor: Paweł Wujczyk

Opublikowano: 3/9/2006, 12:00 AM

Liczba odsłon: 13978

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.

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia