Program wsadowy

Program wsadowy, plik wsadowy (ang. batch file) – program komputerowy wykonywany w trybie wsadowym, tj. bez wpływu użytkownika na przebieg programu. Plik wsadowy to plik, w którym zapisany został program wsadowy. Programy wsadowe mogą być wykonywane w różnych systemach operacyjnych, w szczególności w systemach Unix, Linux, DOS, Windows i innych.

Programem wsadowym może być kompilowany program komputerowy lub skrypt, czyli zapisany w pliku ciąg poleceń interpretowanych bez kompilacji przez powłokę systemu operacyjnego.

Program wsadowy z założenia nie oczekuje współpracy (interakcji) z użytkownikiem w trakcie wykonywania. Po uruchomieniu użytkownik nie ma wpływu na przebieg programu wsadowego, może jedynie oczekiwać na jego zakończenie lub ewentualnie przerwać jego działanie. Jednak, jeśli program wsadowy wymaga podania parametrów potrzebnych do działania, np. opcji, nazwy pliku, katalogu czy nazwy użytkownika, należy podać je w chwili uruchamiania programu w wierszu poleceń jako argumenty wywołania programu. Często z programami wsadowymi utożsamiane są skrypty, ale nie wszystkie skrypty wykonywane są w trybie wsadowym, wiele skryptów działa bowiem w trybie interakcyjnym, tj. oczekując współdziałania użytkownika.

Programy wsadowe na ogół nie wymagają interfejsu graficznego, często uruchamiane są w trybie tekstowym, czyli z wiersza poleceń. W systemie Windows mogą być także uruchamiane z wiersza poleceń zredukowanego do okna Uruchom w menu Start lub eksploratora Windows przez uruchomienie pliku. Wynik działania programu wsadowego może być zapisany do pliku, wyprowadzony (wyświetlony) na ekran, może być wprowadzony jako zmiana w rejestrze systemu Windows lub przekazany do innego programu przy przetwarzaniu potokowym.

Programy wsadowe mogą wykonywać zadania pozwalające na ich zautomatyzowanie. Takimi zadaniami jest przetwarzanie tekstu lub powtarzające się zadania administratora systemu.

Programy wsadowe w systemach MS-DOS i MS Windows

W systemach MS-DOS i Windows typowym programem wsadowym jest plik tekstowy zawierający ciąg poleceń interpretera komend, z angielskiego nazywany batchem lub plikiem batchowym (od ang. batch file); w środowisku uniksowym taki plik zawierający ciąg poleceń powłoki systemowej nazywany jest skryptem. Po uruchomieniu programu wsadowego interpreter odczytuje z pliku i wykonuje kolejne zapisane w nim polecenia.

Programy wsadowe systemu MS-DOS posiadają rozszerzenie .BAT, a systemu Windows rozszerzenie .BAT lub .CMD. AUTOEXEC.BAT to specjalny program wsadowy uruchamiany podczas startu systemu MS-DOS i Windows z rodziny 9x.

Interpreterem komend (powłoką systemową) w systemach MS-DOS i Windows z rodziny 9x jest program command.com, a w systemach Windows z linii NT (Windows NT, 2000, XP, 2003, Vista itd.) – program conhost.exe

Cmd.exe pełni jedynie funkcje wiersza poleceń i trybu tekstowego. Wszystkie programy wsadowe są interpretowane przez host konsoli w systemach Microsoft Windows.[1]

Przykładowe komendy wsadowe, będące poleceniami powłoki systemowej (interpretera komend) systemu MS-DOS i Microsoft Windows:

  • ECHO – wyświetlanie tekstu na ekranie,
  • SET – tworzenie zmiennej bądź modyfikacja istniejącej,
  • CLS – wyczyszczenie zawartości na ekranie,
  • COPY – kopiowanie pliku,
  • DEL – usuwanie pliku,
  • RMDIR – usuwanie katalogu,
  • MKDIR – tworzenie katalogu.

Na stronie internetowej Microsoftu można znaleźć dokumentację wszystkich poleceń w systemach Windows Server. [1]


Przykładowy program wsadowy systemu MS-DOS lub Windows, w tym przykładzie wyświetlający napis Hello World, wygląda następująco:

@echo off
echo Hello World
pause

Przykładowy skrypt proszący o podanie imienia i wypisujący stosowny komunikat:

@echo off
set /p imie=Jak masz na imię?
echo Witaj %imie%
pause

i wynik jego działania:

Jak masz na imię? Michał
Witaj Michał
Aby kontynuować, naciśnij dowolny klawisz . . .

Przykład ten demonstruje możliwość pobierania danych od użytkownika nie tylko poprzez parametry, ale także w czasie trwania wykonywania skryptu. Możliwość taka istnieje w Windows NT. Przykładowy skrypt tworzący folder o nazwie test, a następnie usuwający go.

@echo off
mkdir test
rmdir test
exit

Zobacz też

Przypisy

  1. Windows Command-Line: Inside the Windows Console, Windows Command Line, 20 lipca 2018 [dostęp 2020-09-13] (ang.).

Linki zewnętrzne