Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Procedury systemowe w systemie DOS

Podobne prezentacje


Prezentacja na temat: "Procedury systemowe w systemie DOS"— Zapis prezentacji:

1 Procedury systemowe w systemie DOS
Bibliografia: System operacyjny MS-DOS 4.0/5.0, M. Jankowski i A. Marciniak Windows XP. Komendy i polecenia. Praktyczne przykłady, P. Czarny Procedury systemowe w systemie DOS

2 Procedurą systemową (lub krótko procedurą) – nazywamy sekwencję poleceń systemu operacyjnego, umieszczoną w zbiorze tekstowym i przeznaczoną do wielokrotnego wykorzystania. Umieszczenie sekwencji poleceń w zbiorze ma na celu uniknięcie konieczności wielokrotnego wpisywania tych samych poleceń – oszczędność czasu i uniknięcie błędów przy wpisywaniu

3 Instrukcje warunkowe

4 Instrukcja warunkowa (if) – służy do sprawdzenia pewnego warunku i uzależnienia od niego wykonanie określonego polecenia. Uwaga: W procedurach systemowych instrukcja warunkowa ( if ) służy do sprawdzenia tylko jednego warunku i nie wolno jej zagnieżdżać (tzn. w obrębie jednej instrukcji if nie może kolejna instrukcja warunkowa). Ponadto całe zdanie z instrukcją if musi mieścić się w pojedynczym wierszu.

5 if not warunek polecenie
Składnia (definicja) instrukcji warunkowej: if warunek polecenie lub if not warunek polecenie

6 Warunki sprawdzane za pomocą instrukcji if
identyczność dwu łańcuchów znakowych: if %1 == ala type ala.txt Jeśli parametr numer 1 ma postać identyczną z łańcuchem ala, to nastąpi wyświetlenie treści pliku ala.txt if %pocz% == ola echo czesc ala Jeśli zmienna %pocz% ma postać identyczną z łańcuchem ola, to na ekranie pojawi się napis czesc ala if (%1) == () echo brak parametru Jeśli parametr numer 1 jest równy łańcuchowi pustemu, to na ekranie pojawi się komunikat po słowie echo – brak parametru if not %pocz% == ola type ala.txt Jeśli zmienna %pocz% jest różna od łańcucha ola, to zostanie wyświetlona zawartość pliku ala.txt

7 Warunki sprawdzane za pomocą instrukcji if
istnienie zbioru dyskowego o danej nazwie: if exist %1 type %1 Jeśli istnieje zbiór o nazwie podanej parametrem numer 1, to zostanie wyświetlony na ekranie. if not exist %1 echo brak poszukiwanego parametru Jeśli nie istnieje zbiór o nazwie podanej parametrem numer 1, to zostanie wyświetlony napis brak poszukiwanego parametru testowanie wartości wskaźnika błędu errorlevel, która jest generowana przez polecenie systemowe: if errorlevel 1 echo wystapil blad Jeśli wartość kodu wyjściowego polecenia (wymienionego wcześniej) jest równa 1, to na ekranie pojawi się napis wystapil blad

8 Instrukcje warunkowe ćwiczenia

9 Zadanie 1 Napisz procedurę, która pliki określone pierwszym parametrem przekopiuje z katalogu danego drugim parametrem do katalogu danego trzecim parametrem. @echo off if (%1) == () goto koniec if (%2) == () goto koniec if (%3) == () goto koniec copy %2\%1 %3 :koniec

10 Zadanie 2 Napisz procedurę, która plikowi określonemu pierwszym parametrem /w katalogu danym drugim parametrem/ zmieni nazwę na nazwę daną trzecim parametrem. @echo off if (%1) == () goto koniec if (%2) == () goto koniec if (%3) == () goto koniec ren %2\%1 %3 :koniec

11 Zadanie 3 Napisz procedurę, która zaprezentuje działanie polecenia goto. Przebieg procedury ma być różny w zależności od liczby podanych parametrów w wierszu ją wywołującym. Należy podać komunikat o maksymalnej liczbie dopuszczalnych parametrów.

12 @echo off if (%1) == () goto nic if (%2) == () goto jeden if (%3) == () goto dwa echo UWAGA: procedura akceptuje maksymalnie dwa parametry goto koniec :dwa echo Parametr nr 1 : %1 echo Parametr nr 2 : %2 :jeden echo Parametr nr 2 : -- :nic echo Parametr nr 1 : -- :koniec

13 Zadanie 4 3it Napisz procedurę, która sprawdzi istnienie pliku określonego pierwszym parametrem i jeśli istnieje – wypisze jego zawartość @echo off if exist %1 type %1

14 Zadanie 5 Napisz procedurę, która sprawdzi, czy zmienna pocz jest równa łańcuchowi ala, jeśli tak – to zostanie wypisany napis pocz = ala @echo on if %pocz% == ala echo pocz=ala

15 Powtarzalność procedur

16 Instrukcja iteracyjna (for) – jest wykorzystywana do powtarzania poleceń w procedurach systemowych.

17 Składnia (definicja) instrukcji iteracyjnej:
for %%zmienna in (zbiór-logiczny) do polecenie Podczas wykonywania instrukcji for, zmienna przyjmuje kolejne wartości ze zbioru logicznego i dla każdej z tych wartości jest wykonane polecenie. Nazwa zmiennej musi być pojedynczą literą alfabetu, a elementy zbioru powinny być łańcuchami alfanumerycznymi, oddzielonymi odstępami /spacjami/. Polecenie może, ale nie musi wykorzystywać aktualną wartość zmiennej.

18 Powtarzalność procedur - ćwiczenia

19 Zadanie 1 for %%a in (1 2 3 4 5) do echo [ 7 ]
Napisz procedurę systemową wydającą pięciokrotnie sygnał dźwiękowy. Dźwięk spowoduje znak sterujący [ 7 ] – Alt. for %%a in ( ) do echo [ 7 ]

20 Zadanie 2 Napisz procedurę systemową tworzącą dziesięć kopii pliku ala.txt zawierających tekst Ala ma kota. echo Ala ma kota >ala.txt for %%a in ( ) do copy ala.txt ala%%a.txt

21 Zadanie 3 Napisz procedurę systemową wykonującą pętle tyle razy ile wynosi wartość parametru podanego przy wywołaniu procedury. Jako polecenie niech pojawia się napis: wywołanie procedury.

22 @echo on if (%1) == () goto niedobrze for %%a in ( ) do if %%a == %1 goto razy %%a goto niedobrze :razy10 echo wywolanie procedury goto koniec :razy9 .... :razy1 :niedobrze echo UWAGA! echo parametrem musi być liczba calkowita od 1 do 10 :koniec

23 Procedury z nieokreśloną liczbą parametrów

24 Instrukcja shift – jest wykorzystywana do powtarzania „skoku” do etykiety w celu wykonania poleceń w procedury zawartych po etykiecie, do której został wykonany skok. parametr %0 %1 %2 %3 %4 xxx a b c d shift pusta

25 Procedury z nieokreśloną liczbą parametrów - ćwiczenia

26 Zadanie 1 @echo off :start if (%1) == () goto koniec
Napisz procedurę systemową wypisującą na ekranie napis „Moja procedura” w ilości wierszy określonych przez parametr podany przy wywołaniu procedury. @echo off :start if (%1) == () goto koniec echo Moja procedura shift goto start :koniec

27 Zadanie 2 @echo off : start if (%1) == () goto koniec
Napisz procedurę systemową dopisującą do piku zad5.dat dowolne słowa podane jako parametr przy wywołaniu procedury. @echo off : start if (%1) == () goto koniec echo %1>>zad5.dat shift goto start : koniec

28 Zadanie 3 Napisz procedurę, która tworzy plik o nazwie podanej przez parametr i zapisuje do niego tekst podany przez kolejny parametr.

29 @echo off echo Wciśnij jakikolwiek klawisz pause>>nul if (%1) == () goto koniec1 if (%2) == () goto koniec2 set plik=%1 :petla shift if (%1) == () goto end echo %1>>%plik% goto petla :koniec1 echo Nie podales nazwy pliku goto end :koniec2 echo Za malo parametrow :end

30 Zadanie 4 Napisz procedurę „atrybut”, która plikowi danemu pierwszym parametrem znajdującemu się w katalogu danym drugim parametrem nada atrybuty dane następnymi parametrami.

31 @echo off if (%1) == () goto koniec if (%2) == () goto koniec set x=%1 set y=%2 shift :start attrib +%1 %y%\%x% goto start : koniec

32 Zadanie 5 @echo :start if (%1) == goto koniec del C:\ALA\%1 shift
Napisz procedurę „kasuj”, która kasuje pliki dane parametrami procedury znajdujące się w katalogu ALA na dysku A: @echo :start if (%1) == goto koniec del C:\ALA\%1 shift goto start :koniec

33 Zadanie 6 Napisz procedurę „dopisz”, która sprawdza istnienie pliku danego pierwszym parametrem w katalogu danym drugim parametrem. Jeżeli plik istnieje dopisuje do niego pozostałe parametry procedury, a jeżeli nie istnieje tworzy go i dopisuje do niego pozostałe parametry procedury.

34 @echo off if (%1) == () goto koniec if (%2) == () goto koniec set x=%1 set y=%2 shift if exist c:\%y%\%x% goto start : start echo %1 >>c:\%y%\%x% goto start : koniec

35 Procedury systemowe – zadania różne

36 Zadanie 1 Zadanie 2 Zadanie 3
Napisz procedurę „plik”, która wyświetli zawartość pliku danego pierwszym parametrem z katalogu danego drugim parametrem. Zadanie 2 Napisz procedurę „atrybuty”, która wyświetli atrybuty plików danych pierwszym parametrem z katalogu danego drugim parametrem. Zadanie 3 Napisz procedurę, która kopiuje pliki dane pierwszym parametrem z katalogów danych pozostałymi parametrami do katalogu MOJ na dysku C.

37 Zadanie 4 Zadanie 5 Zadanie 6
Napisz procedurę, która z katalogu będącego pierwszym parametrem przekopiuje do katalogu będącego drugim parametrem pliki określone następnymi parametrami. Zadanie 5 Napisz procedurę, która utworzy na dysku katalog roboczy, a w nim zapisze dane parametrami procedury. Zadanie 6 Napisz procedurę ,która dopisze do pliku cos.txt wszystkie parametry tej procedury.

38 Zadanie 7 Utwórz plik wsadowy dopisujący do pliku imie.txt nazwisko po wybraniu opcjonalnie klawisza (A) lub zakończy procedurę po wybraniu klawisza (B).

39 Zadanie 1 @echo off if (%1) == () goto koniec
Napisz procedurę „plik”, która wyświetli zawartość pliku danego pierwszym parametrem z katalogu danego drugim parametrem. @echo off if (%1) == () goto koniec if (%2) == () goto koniec type %2\%1 : koniec

40 Zadanie 2 @echo off if (%1) == () goto koniec
Napisz procedurę „atrybuty”, która wyświetli atrybuty plików danych pierwszym parametrem z katalogu danego drugim parametrem. @echo off if (%1) == () goto koniec if (%2) == () goto koniec attrib %2\%1 : koniec

41 Zadanie 3 Napisz procedurę, która kopiuje pliki dane pierwszym parametrem z katalogów danych pozostałymi parametrami do katalogu MOJ na dysku C.

42 @echo off if (%1) == () goto koniec set plik=%1 shift : start copy %1\%plik% C:\ MOJ goto start : koniec

43 Zadanie 4 Napisz procedurę, która z katalogu będącego pierwszym parametrem przekopiuje do katalogu będącego drugim parametrem pliki określone następnymi parametrami.

44 @echo off if (%1) == () goto koniec if (%2) == () goto koniec set kat1(dowolne) x/=%1 (podstawia za kat1 %1) set kat2 = %2 shift : start copy %kat1%\%1 %kat2% ---co gdzie— goto start : koniec

45 Zadanie 5 @echo off md c:\roboczy : start if (%1) == () goto koniec
Napisz procedurę, która utworzy na dysku katalog roboczy, a w nim zapisze dane parametrami procedury. @echo off md c:\roboczy : start if (%1) == () goto koniec md c:\roboczy\%1 shift goto start : koniec

46 echo %1>>C:\cos.txt shift goto start :koniec
Zadanie 6 Napisz procedurę ,która dopisze do pliku cos.txt wszystkie parametry tej procedury. :start if (%1) == ( ) goto koniec echo %1>>C:\cos.txt shift goto start :koniec

47 Zadanie 7 Utwórz plik wsadowy dopisujący do pliku imie.txt nazwisko po wybraniu opcjonalnie klawisza (A) lub zakończy procedurę po wybraniu klawisza (B)

48 @echo off echo a dopisz nazwisko echo b koniec procedury choice / c: a – lub+/ wybierz klawiszy a,b if errorlevel == b goto k if errorlevel == a goto d :d echo (nazwisko)>>imię.txt :k echo koniec


Pobierz ppt "Procedury systemowe w systemie DOS"

Podobne prezentacje


Reklamy Google