Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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.

Podobne prezentacje


Prezentacja na temat: "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."— 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

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 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 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 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 goto koniec :jeden echo Parametr nr 1 : %1 echo Parametr nr 2 : -- goto koniec :nic echo Parametr nr 1 : -- echo Parametr nr 2 : -- :koniec

13 Zadanie 4 3it Napisz procedurę, która sprawdzi istnienie pliku określonego pierwszym parametrem i jeśli istnieje – wypisze jego 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 = 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 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 echo wywolanie procedury goto koniec.... :razy1 echo wywolanie procedury goto koniec :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 abcd shiftxxx bcd shiftxxx cd shiftxxx d shiftxxxpusta

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

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

27 Zadanie 2 Napisz procedurę systemową dopisującą do piku zad5.dat dowolne słowa podane jako parametr przy wywołaniu 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 if (%1) == () goto koniec attrib +%1 %y%\%x% shift goto start : koniec

32 Zadanie 5 Napisz procedurę kasuj, która kasuje pliki dane parametrami procedury znajdujące się w katalogu ALA na dysku :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 if (%1) == () goto koniec echo %1 >>c:\%y%\%x% shift goto start : koniec

35 Procedury systemowe – zadania różne

36 Napisz procedurę plik, która wyświetli zawartość pliku danego pierwszym parametrem z katalogu danego drugim parametrem. Zadanie 1 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 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 4 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 Utwórz plik wsadowy dopisujący do pliku imie.txt nazwisko po wybraniu opcjonalnie klawisza (A) lub zakończy procedurę po wybraniu klawisza (B). Zadanie 7

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

40 Zadanie 2 Napisz procedurę atrybuty, która wyświetli atrybuty plików danych pierwszym parametrem z katalogu danego drugim 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 if (%1) == () goto koniec copy %1\%plik% C:\ MOJ shift 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 if (%1) == () goto koniec copy %kat1%\%1 %kat2% ---co gdzie shift goto start : koniec

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

46 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 Bibliografia: System operacyjny MS-DOS 4.0/5.0, M. Jankowski i A. Marciniak Windows XP. Komendy i polecenia. Praktyczne."

Podobne prezentacje


Reklamy Google