1 / 48

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.

shelly
Download Presentation

Procedury systemowe w systemie DOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. Instrukcjewarunkowe

  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 warunekpolecenie 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 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 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 Napisz procedurę systemową wydającą pięciokrotnie sygnał dźwiękowy. Dźwięk spowoduje znak sterujący [ 7 ] – Alt. for %%a in (1 2 3 4 5) 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 (0 1 2 3 4 5 6 7 8 9) do copy ala.txtala%%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 (1 2 3 4 5 6 7 8 9 10) 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.

  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 procedury. @echo 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 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 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 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 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. Zadanie 1 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 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 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 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 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 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 procedury. @echo 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

More Related