Programy wsadowe *.bat
Autor:
Paweł Wujczyk
Opublikowano:
31 marca 2006
Odsłon:
69 454
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
Komentarze
on begin it very good , pzdr
kali,
10 kwietnia 2008, 22:30
BARDZO GLUPIA STRONA PANOWIE...;)
CZEKOLADA,
21 marca 2009, 18:16
slabe bo nic nie rozumiem !!!!!
Kriss,
27 marca 2009, 16:58
GiT!!! dzieki wlasnie tego szukałem :D
Drager,
5 maja 2009, 15:27
Niezłe, chciałem się czegoś więcej dowiedzieć, bo zacząłem się tym interesować i zachciało mi się napisać coś bardziej zaawanowanego.
mdyzio,
7 lipca 2009, 17:03
napiszcie mi na gg jak to zrobic bo nic nie rozumiem xDDDD 13766459
:D,
8 sierpnia 2009, 22:40
czemu tak mało??ja hce więcej!!!
ja,
29 września 2009, 14:07
Ale mało.
xD,
7 lutego 2010, 13:05
Przydatne ;"> piątka.
A jak ktoś nie rozumie to znaczy, że nigdy nie kliknął na "więcej..." xd
MasloRlz,
3 października 2010, 13:18
przydatne w szkole
;p;p,
29 października 2010, 10:06
Stronka jest ok, tylko troche mało jak dla mnie! - prosimy o obszerniejsze artykuły ;-)
Kris,
13 lutego 2011, 12:20
Dzięki będe pisać programy w *.bat
Super! Mi to wystarczy.
XXX Systems,
9 września 2011, 10:56
Bardzo przydatne w codziennej pracy.
Chomik Chomikowiak,
25 grudnia 2011, 16:28
Bardzo mało komend -_-
Mam Viste,
16 stycznia 2012, 18:41
Chciałbym prosić o pomoc w utworzeniu pliczku wsadowego, który automatycznie wykonywałby PEŁNY Format DVD RW w systemie UDF 2.01 z i nadawałby płycie określoną etykietę
Potrzebne mi to jest do wykonywania automatycznych kopii danych przy pomocy programu COBIAN BACKUP, który niestety nie posiada opcji formatowania płyty przed wykonaniem archiwizacji. Jest tylko możliwość "Wykonaj własny program" przed wykonaniem archiwizacji, i tu chciałbym aby był uruchamiany mój pliczek wsadowy, który formatowałby płytę ze starym archiwum.
Proszę o pomoc
Arti,
30 marca 2012, 10:21