Programy wsadowe *.bat

Programy wsadowe *.bat

Autor: Paweł Wujczyk

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

Liczba odsłon: 235510

Programy wsadowe są to tak naprawdę zbiory poleceń, zapisanych w pliku o rozszerzeniu .bat, które Wiersz polecenia wykonuje linijka po linijce. Są one proste do pisania i potrafią ułatwić nam życie nie tylko wtedy kiedy korzystamy z konsoli. Jeżeli komunikujemy się z komputerem tylko przy pomocy jego okienkowej strony nasze programy również się przydadzą. Pozwolą nam na szybsze zmienianie wielu, czasami ciężko dostępnych opcji naszego systemu. Aby napisać program wsadowy nie potrzebujemy żadnych specjalistycznych narzędzi typu kompilatory, debbugery. Jedyne co musimy posiadać to podstawowa wiedza na temat poleceń wpisywanych w Wiersz polecenia oraz trochę wyobraźni przy tworzeniu naszych prostych aplikacji. Jeżeli jeszcze nie opanowaliśmy komend wpisywanych w konsolę, przeczytajmy artykuł o Wierszu polecenia.

Aby napisać program wsadowy otwieramy aplikację Notepad następnie wpisujemy w nim polecenia, które mają się wykonać. Na samym końcu zapisujemy naszą pracę z rozszerzeniem bat lub cmd. Jeżeli w danym folderze znajdą się dwa różne programy jeden z rozszerzeniem bat a drugi z cmd system uruchomi pierwszy program.

W programach wsadowych można wykorzystywać wszystkie polecenia używane w Wierszu polecenia a także kilka dodatkowych, których używanie ma tylko sens w naszych programach. Poniższa tabela przedstawia listę tych komend:

Echo komunikat Wyświetla komunikat na ekranie. Więcej...
Echo [on | off] Włącza i wyłącza komunikaty wyświetlane na ekranie. Więcej...
@ Użyta na początku linii zapobiega jej wyświetleniu się. Więcej...
Rem komentarz Użyte na początku linii wstawia do programu komentarz. Więcej...
Goto etykieta Instrukcja sterująca nakazująca przeskok programu do miejsca w kodzie oznaczonym etykieta. Więcej...
:etykieta Zaznaczenie miejsca w kodzie, do którego program ma przeskakiwać. Więcej...
Shift Powoduje przesunięcie parametrów przy wywołaniu programu wsadowego. Więcej...
If [not] Exist plik komenda Instrukcja warunkowa, wykonująca komendę jeżeli istnieje plik. Więcej...
If [not] ciag1==ciag2 komenda Instrukcja warunkowa, wykonująca komendę jeżeli ciag1 jest równy ciag2. Więcej...
If [not] Errorlevel liczba komenda Instrukcja warunkowa, wykonująca komendę jeżeli kod zwracany przez poprzednią instrukcję jest równy liczba. Więcej...
For %%x In (y) do komenda %%x Pętla wykonująca się tyle razy ile jest elementów w y przy każdym przejściu wykonująca komendę, która może być zastosowana do kolejnego elementu x pochodzącego ze zbioru y. Więcej...
Pushd sciezka Zapamiętuje katalog, a następnie przechodzi do folderu oznaczonego sciezka. Więcej...
Popd Przechodzi do katalogu zapamiętanego przez polecenie Pushd. Więcej...
Setlocal Informuje system, że zmiany dokonane przez program są lokalne. Więcej...
Endlocal Informuje system, o zakończeniu sekcji zmian lokalnych dokonanych przez program. Więcej...
Set zmienna = wartosc Ustala wartość zmiennej. Więcej...
Pause Zatrzymuje program i czeka na naciśniecie klawisza przez użytkownika. Więcej...
Title tytuł Zmienia tytuł okna wiersza polecenia. Więcej...
Call program_wsadowy Wywołuje inny program wsadowy, czeka na jego zakończenie po czym wznawia swoją pracę. Więcej...

A oto kilka przykładowych programów, które pomogą nam zautomatyzować pracę z systemem Windows XP:

  • Autostart - program usuwa wpisy odpowiedzialne za automatyczne uruchamianie programów przy starcie systemu.
  • Czyszczenie - program usuwa pliki z folderów tymczasowych i historii.
  • Szukacz - program wyszukuje na dysku komputera pliki.
  • Kasownik - program wyszukuje na dysku komputera pliki oraz kasuje je.

Nasze programy wsadowe na pewno chcielibyśmy uruchamiać będąc w każdym katalogu albo też korzystając z menu Uruchom. Dlatego też powinniśmy umieścić je w jednym folderze a następnie zmodyfikować zmienną path tak aby przeglądała ten katalog w poszukiwaniu naszych programów. O ile przeniesienie wszystkich programów wsadowych do jednego katalogu jest dość proste to zmodyfikowanie zmiennej systemowej może sprawić niejakie trudności. Jednak kłopot ten jest tylko pozorny. Aby dodać do zmiennej path kolejny folder, w którym umieszczone są nasze programy wpisujemy w konsoli następujące polecenie: set path=%path%;folder. (Pomiędzy  %path% a folder znajduje się średnik, folder jest natomiast ścieżką do katalogu z programami) Przykładowe wywołanie mogłoby wyglądać następująco:  set path=%path%;c:\moje_programy