Zbiory polece艅 *.BAT
Interpretator polece艅 COMMAND.COM systemu MS-DOS umo偶liwia wykonywanie ci膮gu dowolnych polece艅 zapisanych w zbiorze o rozszerzeniu BAT. Opr贸cz polece艅 dost臋pnych normalnie w trybie interakcyjnym istniej膮 specjalne mechanizmy przeznaczone do stosowania jedynie wewn膮trz zbior贸w wsadowych.
Polecenia te tworz膮 j臋zyk, kt贸ry jest co prawda ubogi, ale umo偶liwia tworzenie skrypt贸w-program贸w. Programowanie w tym j臋zyku wymaga pewnej wprawy oraz stosowania program贸w pomocniczych i/lub r贸偶nych sztuczek.
Parametry
Polecenie uruchamiaj膮ce dany zbi贸r wsadowy mo偶e zawiera膰 parametry, kt贸re wewn膮trz programu oznaczone s膮 przez %0, %1, ... %9, przy czym %0 oznacza nazw臋 zbioru wsadowego (polecenia, kt贸re uruchomi艂o program) a dalsze parametry s膮 numerowane zgodnie z kolejno艣ci膮 w linii polecenia.
Zmienne 艣rodowiska
Wewn膮trz program贸w wsadowych mo偶na korzysta膰 z warto艣ci zmiennych 艣rodowiska. Zmienne tworzy si臋 poleceniem SET nazwa=warto艣膰 gdzie warto艣膰 jest ci膮giem znak贸w. U偶ycie nazwy zmiennej otoczonej znakami % (procent) np. %nazwa% powoduje zast膮pienie jej odpowiadaj膮cym jej ci膮giem znak贸w.
Polecenia zbior贸w wsadowych
CALL nazwa_zbioru [parametry]
Wykonanie programu wsadowego zawartego w zbiorze nazwa_zbioru. Po wykonaniu nast膮pi powr贸t do nast臋pnego polecenia w bie偶膮cym zbiorze wsadowym.
ECHO [ON | OFF | tekst]
ECHO ON Powoduje w艂膮czenie wy艣wietlania tekstu polece艅 zbioru wsadowego w czasie jego wykonywania (tryb domy艣lny)
ECHO OFF Powoduje wy艂膮czenie wy艣wietlania tekstu polece艅
ECHO (bez parametru) powoduje wy艣wietlenie komunikatu „echo is off” lub „echo is on”
ECHO tekst powoduje wy艣wietlenie napisu tekst na ekranie
ECHO. (kropka bez spacji) powoduje wy艣wietlenie pustego wiersza
Ka偶de polecenie w zbiorze wsadowym poprzedzone znakiem @ nie b臋dzie wy艣wietlone bez wzgl臋du na wcze艣niejsze u偶ycie polecenia ECHO ON/OFF.
FOR %%z IN (lista) DO polecenie
Powoduje podstawienie pod zmienn膮 %%z kolejnych warto艣ci z listy i wykonanie polecenia tyle razy ile jest element贸w listy. Lista mo偶e zawiera膰 nazwy zbior贸w (r贸wnie偶 ze znakami * i ?) lub dowolne 艂a艅cuchy znak贸w oddzielone spacj膮 lub innym separatorem.
Polecenie mo偶e zawiera膰 zmienn膮 %%z jako parametr.
GOTO etykieta
Powoduje wykonanie skoku do linii zawieraj膮cej etykiet臋. Za etykiet臋 uwa偶a si臋 dowoln膮 lini臋 poprzedzon膮 znakiem : (dwukropka).
IF [NOT] warunek polecenie
Powoduje wykonanie polecenia o ile jest spe艂niony warunek. Warunek mo偶e by膰 zapisany w nast臋puj膮cy spos贸b:
ERRORLEVEL liczba warunek jest spe艂niony je艣li poprzednie polecenie zwr贸ci艂o kod powrotu wi臋kszy lub r贸wny liczbie (warto艣膰 0 oznacza poprawne zako艅czenie)
tekst==tekst warunek jest spe艂niony je艣li teksty s膮 identyczne. Wewn膮trz tekstu mo偶e wyst膮pi膰 zmienna 艣rodowiska otoczona znakami %, kt贸ra zostanie zast膮piona przez swoj膮 warto艣膰
EXIST nazwa_zbioru warunek jest spe艂niony je艣li zbi贸r istnieje. Nazwa_zbioru mo偶e zawiera膰 znaki specjalne * i ?
PAUSE
Powoduje wy艣wietlenie komunikatu „Press any key to continue” i nast臋puje zawieszenie wykonania programu a偶 do momentu naci艣ni臋cia klawisza.
REM [tekst]
Tekst stanowi komentarz.
SHIFT
Powoduje zmian臋 numeracji parametr贸w programu wsadowego. Parametrowi %0 przypisywana jest warto艣膰 parametru %1, parametrowi %1 warto艣膰 %2, itd. Mo偶liwy jest w ten spos贸b dost臋p do wi臋kszej liczby parametr贸w ni偶 9.
Filtry
Filtrami nazywamy programy, kt贸re pobieraj膮 dane wej艣ciowe ze standardowego wej艣cia i wysy艂aj膮 przetworzone dane na standardowe wyj艣cie. Dzi臋ki temu mo偶liwe jest 艂膮czenie takich program贸w w potoki (polecenie | polecenie) oraz pobieranie (polecenie < nazwa_zbioru) i wysy艂anie (polecenie > nazwa_zbioru albo polecenie >> nazwa_zbioru) danych z/do dowolnych zbior贸w dyskowych lub urz膮dze艅.
FIND [/V][/C][/N][/I] „tekst” [zbi贸r]
/V wys艂anie na wyj艣cie wierszy NIE zawieraj膮cych tekstu wzorca
/C wys艂anie na wyj艣cie liczby linii zawieraj膮cych wzorzec
/N ka偶dy wysy艂any wiersz b臋dzie opatrzony jego numerem w zbiorze
/I ignorowanie r贸偶nicy mi臋dzy ma艂ymi i du偶ymi literami
Pomini臋cie nazwy zbioru powoduje wczytanie danych ze standardowego wej艣cia.
Przyk艂ad: DIR | FIND „Volume in drive” >> LABELS.TXT
Dopisanie etykiety dysku do zbioru LABELS.TXT.
MORE
Wy艣wietlanie z zatrzymaniem po pe艂nym ekranie tekstu. Dane pobierane s膮 ze standardowego wej艣cia i wysy艂ane na standardowe wyj艣cie.
Przyk艂ad: TYPE read.me | MORE
SORT [/R][/+n]
Sortowanie wierszy zbioru wej艣ciowego.
/R sortowanie w odwrotnej kolejno艣ci
/+n sortowanie rozpoczynaj膮c od n-tego znaku w wierszu
Ma艂e i du偶e litery nie s膮 rozr贸偶niane.
Przyk艂ad: CON | SORT > sorted.txt
Wiersze wpisane z klawiatury (zako艅czone Ctrl-Z) zostan膮 posortowane i wpisane do zbioru sorted.txt
1
1