profil

Przetwarzanie wsadowe w MS-DOS

poleca 85% 559 głosów

Treść
Grafika
Filmy
Komentarze

Programem wsadowym nazywamy sekwencję poleceń systemu operacyjnego, umieszczoną w zbiorze tekstowym i przeznaczoną do wielokrotnego wykorzystywania. Programy mogą zawierać ( oprócz pleceń wsadowych ) instrukcje tzw. języka poleceń, który jest prostym językiem programowania, zawierającym niezbędne instrukcje sterujące. Instrukcje te pozwalają formułować zdania warunkowe, skoki, pętle, itp. W programach wsadowych można stosować zmienne i można im przekazywać parametry. Zbiory dyskowe zawierające programy wsadowe, mają zawsze rozszerzenie nazwy .BAT, a uruchamia się je, podobnie jak polecenia systemowe wpisując ich nazwę i naciskając klawisz ENTER.



Polecenia:

1. CALL [d:] [sc] plik [parametry] - wywołuje z programu przetwarzania wsadowego inny program przetwarzania wsadowego ( bez przerwania pracy bieżącego programu ).

[d:] [sc] plik - lokalizacja i nazwa wywoływanego programu przetwarzania wsadowego ( z rozszerzeniem .BAT ).

2. CHOICE [/c:lista] [/n] [/s] [ /t:znak, czas] [ tekst ] - pozwala użytkownikowi na wybór opcji z programu przetwarzania wsadowego.

/c:lista - określa listę znaków używanych przez użytkownika do dokonania wyboru

/n - nakazuje nie wyświetlanie żadnych pytań

/s - nakazuje rozpoznawanie małych i wielkich liter

/t:znak, czas - program będzie oczekiwał na dokonanie wyboru przez ilość sekund, jeśli wybór nie zostanie dokonany to wybiera opcję określoną przez znak. Standardowo program czeka na dokonanie wyboru przez użytkownika.

tekst - określa tekst wyświetlany na ekranie jako pytanie.

3. ECHO on|off lub ECHO [ informacja ] - wyświetla na ekranie ( lub nie ) wykonywane w pliku przetwarzania wsadowego polecenia. Umożliwia także wyświetlanie na ekranie dowolnego tekstu. Znak @ umożliwia niewyświetlanie na ekranie polecenia echo off.

on|off - powoduje wyświetlanie (on) na ekranie lub nie (off) nazw wykonywanych poleceń.

ECHO. - wyświetla na ekranie pustą linię.

4. FOR %% zmienna IN (zestaw) DO polecenie [parametry] - umożliwia wykonywanie danych poleceń dla każdego pliku z zadanego zestawu.

%% zmienna - nazwa zmiennej, która będzie zastępowana danymi pobranymi z zestawu

(zestaw) - określa zestaw plików ( lub wyrażeń tekstowych ), których ma dotyczyć polecenie FOR

polecenie - określa polecenie, które ma być wykonywane z każdym plikiem zestawu.

5. GOTO etykieta - powoduje skok programu do linii oznaczonej etykietą.

etykieta - nazwa etykiety ( w programie typu .BAT musi być poprzedzona dwukropkiem ).

6. IF [not] errorlevel numer polecenie - wykonywane jest polecenie gdy kod wyjścia z poprzednio uruchomionego przez COMMAND.COM programu jest większy od numer lub jemu równy

lub

IF [not] ciąg1 = = ciąg2 polecenie - polecenie jest wykonywane jeśli ciągi są identyczne

lub

IF [not] exist plik polecenie - warunek jest spełniony jeśli podany plik istnieje.

7. PAUSE - zatrzymuje wykonywanie programu wsadowego i wyświetla komunikat Press any key to continue...

8. REM [komentarz] - umożliwia wstawienie komentarza do pliku przetwarzania wsadowego.

9. SHIFT - przesuwa parametry programu wsadowego o jedno miejsce.





Przykłady programów wsadowych.

1. :pętla

IF ‘’%1’’ = = ‘’ ‘’ GOTO koniec

DIR %1

SHIFT

GOTO pętla

:koniec

Wyświetla dowolne katalogi (należy je podać przy wywołaniu programu wsadowego), każdorazowo pobierany jest kolejny katalog z wprowadzonej przy wywołaniu listy. Po wyczerpaniu podanej listy katalogów spełniony zostaje warunek IF i następuje skok do etykiety :koniec.



2. IF EXIST A: %1 GOTO kom

COPY %1 A:

GOTO koniec

:kom

ECHO Plik %1 już znajduje się na dyskietce A:

:koniec

Wyświetla tekst „Plik %1 już znajduje się na dyskietce A:” pod warunkiem, że plik podany jako parametr wywołania istnieje na dyskietce A:. Jeśli nie istnieje to zostanie na nią skopiowany.



3. IF NOT EXIST A:%1.%3 COPY %1.%2 a:%1.%3

Jeśli podamy jako kolejne parametry NOWYPLIK, TXT, OLD to polecenie to spowoduje skopiowanie pliku NOWYPLIK.TXT na dyskietkę A: pod nazwą NOWYPLIK.OLD, pod warunkiem, że taki plik nie istnieje na dyskietce.



4. IF EXIST %1 GOTO istnieje

ECHO Plik %1 nie istnieje!!!

GOTO koniec

:istnieje

FIND/I ‘’begin’’ <%1

FIND/I ‘’end’’ <%1

:koniec

Program ten wypisuje wiersze zawierające słowo ‘’begin’’, a następnie wiersze z wyrazem ‘’end’’, z pliku podanego jako parametr wywołania pod warunkiem, że plik ten istnieje.





5. FOR %%x IN ( README.* *.DOC) DO MORE <%%x

Program ten wypisuje zawartość wszystkich plików README.* i *.DOC z katalogu bieżącego.



6. :pętla

IF ‘’%1’’ = = ‘’ ‘’ GOTO koniec

attrib -r %1

DEL %1

SHIFT

GOTO pętla

:koniec

Program ten usuwa pliki podane jako kolejne parametry wywołania, nawet wtedy, gdy mają atrybut „tylko do odczytu”.



7. :pętla

DIR a:\%1 /b /s /p

ECHO Jeśli chcesz szukać dalej włóż nową dyskietkę

ECHO i naciśnij klawisz ‘t’.

CHOICE /c:tn Szukać dalej?

IF errorlevel2 GOTO koniec

GOTO pętla

:koniec

Program ten szuka pliku podanego jako parametr wywołania na dyskietkach kolejno wkładanych do napędu A: ( po umieszczeniu w stacji każdej kolejnej dyskietki program wyświetla pełne ścieżki dostępu wszystkich plików o podanej nazwie znajdujących się na dyskietce, a następnie pyta, czy kontynuować przeszukiwanie kolejnych dyskietek ).



8. IF ‘’%TMP%’’ = = ‘’%TEMP%’’ GOTO takiesame

ECHO Przypisuję zmiennej TEMP wartość zmiennej TMP

SET TEMP=%TMP%

GOTO koniec

:takiesame

ECHO Zmienne TMP i TEMP mają tą samą wartość:

ECHO %TMP%

:koniec

Program ten porównuje wartości zmiennych środowiskowych TMP i TEMP i jeśli są one równe wypisuje ich zawartość w przeciwnym przypadku przypisuje zmiennej TEMP wartość zmiennej TMP.



9. SET ISTNIEJĄ=TAK

:pętla

IF ‘’%1’’ = = ‘’ ‘’ GOTO KONIEC

IF NOT EXIST %1 SET ISTNIEJĄ=NIE

SHIFT

GOTO pętla

:koniec

IF ‘’%ISTNIEJĄ%’’==’’TAK’’ GOTO dalej

ECHO Nie wszystkie z podanych plików istnieją.

GOTO zakończ

:dalej

ECHO Wszystkie podane pliki istnieją

:zakończ

SET ISTNIEJĄ=

Program ten informuje użytkownika, czy istnieją wszystkie pliki podane jako kolejne parametry wywołania.



10. FOR %%x IN (*.TXT) DO COPY %%x A:

Program ten powoduje przekopiowanie wszystkich plików o rozszerzeniu .TXT na dyskietkę w stacji A:

Czy tekst był przydatny? Tak Nie

Czas czytania: 5 minut