background image

Rozdzia  2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

23

2.2.1 Pliki wsadowe

Plik wsadowy (

batch file

) umo liwia wykonanie dowolnego ci gu polece  systemu

MS-DOS

. Za jego pomoc  mo na w prosty sposób zautomatyzowa  najcz ciej wykonywane

czynno ci, takie jak kopiowanie, kasowanie, tworzenie pliku lub folderu, a wi c
przetwarzanie tekstu lub powtarzaj ce si  zadania administratora systemu. Z punktu widzenia
systemu operacyjnego plikiem wsadowym jest ka dy plik, którego nazwa posiada
rozszerzenie

bat

.

Po wydaniu dowolnego polecenia interpreter polece

command.com

 sprawdza

w pierwszej kolejno ci czy wydana komenda jest poleceniem wewn trznym
(interpretowanym przez

command.com

) lub zewn trznym i w przypadku odpowiedzi

pozytywnej wykonuje wydan  komend . Je eli jednak interpreter nie rozpoznaje polecenia
to przyjmuje,  e u ytkownik za da  uruchomienia programu lub pliku wsadowego.

Programy wsadowe na ogó  nie wymagaj  interfejsu graficznego, cz sto uruchamiane

  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.

Podstawowe komendy i ich zastosowanie

W plikach wsadowych mog  by  u ywane wszystkie polecenia, które dzia aj

w wierszu polece . Dodatkowo w plikach tych spotyka si  równie  pewne komendy
specyficzne dla plików wsadowych, takie jak:

ECHO

tekst

 – wy wietli na ekranie napis

tekst

ECHO OFF

 – polecenia nie b

 pokazywane, a jedynie wyniki ich dzia ania (je li

polecenie poprzedzimy znakiem

@

 to równie  bie ce polecenie nie

zostanie wy wietlone

ECHO ON

 – w cza tryb wy wietlania komend

REM

 – za tym poleceniem mo na wstawia  tekst komentarza

PAUSE

 – zatrzymywanie dzia ania programu do czasu naci ni cia dowolnego klawisza

CALL

 – polecenie do wywo ywania innego pliku wsadowego

GOTO

 – polecenie skoku do etykiety oznaczonej przez postawienie znaku „:”, np.

GOTO

koniec

EXIST

 – polecenie sprawdza, czy w podanej  cie ce znajduje si  nazwa pliku wpisana

jako argument wyszukiwania

IF

 – instrukcja warunkowa „je eli” – je eli warunek jest prawdziwy to wykonaj

instrukcje, np.

IF EXIST

c:\nazwa.bat

GOTO

koniec

(

je eli istnieje

 plik

c:\nazwa.bat

 to

skocz

 do etykiety

koniec

)

SHIFT

 – polecenie zmienia warto  parametru pliku wsadowego

FOR

 – p tla (instrukcja iteracyjna) s

y do wielokrotnego wykonywania podobnych

czynno ci

wiczenie 1. Pierwszy plik wsadowy

Napisz w notatniku poni szy fragment i zapisz w folderze

E:\TEMP

 z nazw

1.bat

(je li

TEMP

  nie  istnieje  to  go  utwórz  z  konsoli  komend

cmd

), a nast pnie uruchom go

z eksploratora Windows lub z konsoli komend.

REM To jest komentarz - nie bedzie widoczny i wykonywany :)
ECHO To moj pierwszy plik wsadowy
PAUSE

ród o 1. Wersja pierwotna pliku 1. bat

background image

Rozdzia  2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

24

Efekt dzia ania pliku

1.bat

:

Rys. 2.2.21. Wynik dzia ania pliku wsadowego 1.bat

W pliku

1.bat

 dopisz polecenie

ECHO OFF

 i zapisz plik - po ponownym uruchomieniu pliku

wsadowego

1.bat

 efekt b dzie nast puj cy:

Rys.  2.2.22. Po dopisaniu w pierwszej linii polecenia ECHO OFF

Teraz dopisz symbol

@

 przed dopisanym poleceniem

ECHO OFF

, zapisz plik i porównaj efekt

dzia ania:

Rys.  2.2.23. Po dopisaniu symbolu @ przed poleceniem ECHO OFF

Jakie wnioski wyci gniesz?

wiczenie 2. Tworzenie folderów, instrukcja warunkowa, instrukcja skoku

Napisz plik wsadowy

2.bat

, który b dzie tworzy  folder

PIERWSZY

 w folderze

E:\TEMP

.  U yj  w  pliku  polece   wewn trznych

MD

 (do tworzenia folderów), a tak e

CD

 do

ustawienia folderu bie cego na

E:\TEMP\PIERWSZY

. Na pocz tku zastosuj równie

polecenie

CLS

, aby wyczy ci  ekran – dzia anie pliku nie powinno wy wietla  instrukcji,

a jedynie ich efekt (

@ECHO OFF

).

@ECHO OFF
REM
 Drugi plik wsadowy - tworzenie folderu
CLS
MD
 E:\TEMP\PIERWSZY
ECHO Utworzono folder E:\TEMP\PIERWSZY
ECHO Ustawiam folder biezacy na E:\TEMP\PIERWSZY
E:
CD
 E:\TEMP\PIERWSZY
PAUSE

ród o 2. Zawarto  pliku 2.bat

background image

Rozdzia  2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

25

Efekt dzia ania pliku

2.bat

:

Rys.  2.2.24. Okno konsoli po uruchomieniu pliku 2.bat

Uruchom go ponownie i zwró  uwag  na dodatkowy komunikat, który si  tam znajdzie:

Rys.  2.2.25. Okno konsoli po ponownym uruchomieniu pliku 2.bat

Zmodyfikuj plik

2.bat

 (i zapisz go z nazw

3.bat

) tak, aby w sytuacji, gdy istnieje folder

E:\TEMP\PIERWSZY

 wy wietli  jego zawarto , a gdy nie istnieje to ma utworzy

wspomniany folder. Musisz u

 instrukcji warunkowej

IF EXIST

 oraz oraz

IF NOT EXIST

,

a tak e tzw. etykiet (

:nazwa_etykiety

) i instrukcji skoku

GOTO

nazwa_etykiety

 (patrz

Podstawowe komendy i ich zastosowanie – na pocz tku tego dokumentu).

1
2
3
4
5

6
7
8
9

10

11
12
13
14

15
16
17
18
19

@ECHO OFF
REM
 Trzeci plik wsadowy - na bazie pliku 2.bat
CLS
IF NOT EXIST
 E:\TEMP\PIERWSZY GOTO utworz
IF EXIST E:\TEMP\PIERWSZY GOTO blad

:blad
ECHO Folder o takiej nazwie juz istnieje!
ECHO Oto jego zawartosc
DIR E:\TEMP\PIERWSZY
GOTO koniec

:utworz
MD E:\TEMP\PIERWSZY
ECHO Utworzono folder E:\TEMP\PIERWSZY
GOTO koniec

:koniec
ECHO Ustawiam folder biezacy na E:\TEMP\PIERWSZY
E:
CD
 E:\TEMP\PIERWSZY
PAUSE

ród o 3. Zawarto  pliku 3.bat

Jak to dzia a?
Zaczn  od linii  4 , poniewa  linie  1   2   3  nie wymagaj

adnych wyja nie

. A wi c

w linii  4  sprawdzane jest czy nie istnieje (

NOT EXIST

) folder

E:\TEMP\PIERWSZY

 – je li to

prawda (nie istnieje folder

PIERWSZY

) to program przeskakuje do linii  11  (

GOTO

utworz

),

czyli do miejsca oznaczonego etykiet

utworz

. Poniewa  w plikach wsadowych linie

wykonywane s  kolejno (poza instrukcjami skoku

GOTO

) to wykonane zostanie polecenie

z linii  12  (utworzony zostaje folder), nast pnie w  13   wy wietlony zostanie napis i w kroku
kolejnym  14  znowu jest polecenie skoku – tym razem do etykiety

koniec

, czyli do linii  15 .

Je li przeanalizujesz dalsze kroki to dojdziesz do wniosku,  e po wykonaniu polecenia

background image

Rozdzia  2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

26

z linii  16  wy wietlony zostanie napis, nast pnie po wykonaniu polecenia z linii  17
zmieniony zostanie dysk bie cy na

E:

 (nawet gdy ju  by  taki ustawiony), nast pnie nast pi

ustawienie folderu bie cego na

E:\TEMP\PIERWSZY

 w linii  18  i na koniec wstrzymanie

dzia ania programu (linia  19 ).
Je li folder

PIERWSZY

 nie istnieje to b dzie tak jak w powy szym opisie dzia ania (patrz

równie  na rys. 2.2.27). A co b dzie jak w linii  4  oka e si ,  e folder istnieje? Nie zostanie
wykonana instrukcja skoku

GOTO

utworz

 tylko wykonane zostanie polecenie z linii  5 , które

sprawdza czy istnieje (

EXIST

) folder

E:\TEMP\PIERWSZY

 – je li to prawda to wykonane

zostanie polecenie skoku do linii  6  (

GOTO

blad

). Skoro taki skok nast pi to wykonane

zostanie nast pne polecenie z kolejnej linii  7 , czyli wy wietlenie komunikatu,  dalej
polecenie z linii  8  – wy wietlenie nast pnego komunikatu, potem wy wietlenie zawarto ci
folderu

E:\TEMP\PIERWSZY

 poleceniem z linii  9  i po tym wszystkim po wykonaniu

polecenia z linii  10  (skok do etykiety

koniec

 linia  15 ) zostan  wykonane kolejno

omawiane ju  komendy  16   17   18  i  19  (wynik dzia ania jak na rys. 2.2.26).

Je li nie usun

 folderu

PIERWSZY

 to wynik dzia ania pliku

3.bat

 jest nast puj cy:

Rys.  2.2.26. Okno konsoli po uruchomieniu pliku 3.bat

Teraz usu  folder

PIERWSZY

 - je li b dzie odmowa to zmie  bie cy dysk na inny, np.

H:

i spróbuj usun  jeszcze raz. Ponownie uruchom plik

3.bat

 i zaobserwuj czy zachowa  si  tak

samo jak na rys. 2.2.27:

Rys.  2.2.27. Okno konsoli po ponownym uruchomieniu pliku 3.bat

background image

Rozdzia  2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

27

Przyjrzyj si  plikowi

3.bat

 – czy nie b dzie optymalnie je li zmodyfikujesz go tak jak

w  ródle 4? Efekt dzia ania b dzie identyczny – przeanalizuj  ród o 4 (zapisz w pliku

4.bat

)

i wska  ró nice mi dzy obydwoma plikami.

@ECHO OFF
REM
 Czwarty plik wsadowy - zoptymalizowany plik 3.bat
CLS
IF NOT EXIST
 E:\TEMP\PIERWSZY GOTO utworz
ECHO Folder o takiej nazwie juz istnieje!
ECHO Oto jego zawartosc
DIR E:\TEMP\PIERWSZY
GOTO koniec

:utworz
MD E:\TEMP\PIERWSZY
ECHO Utworzono folder E:\TEMP\PIERWSZY

:koniec
ECHO Ustawiam folder biezacy na E:\TEMP\PIERWSZY
E:
CD
 E:\TEMP\PIERWSZY
PAUSE

ród o 4. Zawarto  pliku 4.bat – zoptymalizowany plik 3.bat

Zadanie 1. Tworzenie plików tekstowych

Napisz plik wsadowy

5.bat

, który b dzie umo liwia  utworzenie i edycj  pliku

tekstowego

test.txt

 w folderze

E:\TEMP\PIERWSZY

. W kodzie powinny by

zaimplementowane zabezpieczenia przed nadpisaniem istniej cego pliku. Je li uruchomimy
plik za pierwszym razem to powinien utworzy  plik

test.txt

 (rys. 2.2.28). Po ponownym

uruchomieniu (plik powinien istnie  po pierwszym uruchomieniu) nie mo emy nadpisa  pliku

test.txt

 – nale y wy wietli  jego zawarto  (rys. 2.2.29).

Rys. 2.2.28. Utworzenie pliku test.txt

Rys. 2.2.29. Wy wietlenie zawarto ci pliku test.txt (je li istnieje)