No registered users in community Materiały
in last 10 minutes
in last 10 minutes
SOP - polecenia i skrypty - DOS/Windows
++++++++++++++++++++++++++++ Kilka tradycyjnych zadan z polecen/skryptow DOS-u ... Z1. Wymien polecenia DOS-u sluzace do: * chodzenia po drzewie katalogow * tworzenia nowych katalogow * ogladania calego drzewa katalogow * zmiany nazwy pliku lub katalogu * usuwania plikow * usuwania katalogow (pustych) * usuwania katalogu razem z zawartymi w nim plikami i podkatalogami * porownywanie zawartosci plikow Z2. Powiedz do czego sluza i dlaczego zostaly umieszczone w tej samej grupie nastepujace polecenia : * append, path * subst, join Z3. Wyjasnij pojecia i podaj przyklady: * przekierowanie we/wy ">" "<" ">>" * potok "|" * filtr Z4. Zmien "prompt" tak aby pokazywal: biezaca date oraz katalog biezacy i znak ">" Np: (Sun 14.03.1999) c:\qqq> wskazówka: w polecenie prompt używa się symboli $D (data), $P (bież. katalog), $G (znak ">"), resztę przeczytaj w prompt /? Z5. (wariacje na temat polecenia "copy") Wiadomo, ze polecenie copy moze byc uzywane na nastepujace sposoby : * copy plik katalog * copy plik plik Np: copy plik1.txt plik2.txt copy plik1.txt con: copy con: plik1.txt copy *.txt *.qqq (w ostatnim przypadku kazdy plik .txt zostanie skopiowany do pliku .qqq, o tej samej nazwie) * copy plik1 + plik2 + ... plik_wynikowy (w tym wypadku chodzi o polaczenie plikow i zapisanie do plik_wynikowy) Np: copy plik1.txt + plik2.txt + plik3.txt plik_wy.txt * copy plik1 + plik2 + ... (polaczenie plikow i dolaczenie na koniec pierwszego) Np: copy plik1.txt + *.txt Opcje "/a" i "/b" pozwalaja okreslic czy plik ma byc traktowany jako tekstowy czy binarny. Opcje te dzialaja na plik "przed" opcja i na wszystkie pliki za opcja (az do nastepnej opcji). Opcja "/a" w pliku zrodlowym powoduje, ze bedzie on czytany az do znaku ^Z (o kodzie 26). Opcja "/a" w pliku wynikowym powoduje, ze na koncu bedzie dopisany znak ^Z. WYPROBUJ dzialanie tych opcji podczas kopiowania i laczenia plikow. W tym celu musisz utworzyc pliki zawierajace w srodku znak ^Z, np w taki sposob : echo 111^Z222 > plik.txt a nastepnie wykonac odpowiednie kopiowania sprawdzajac dlugosc otrzymanch plikow Z6. Mamy katalog "aaa" z plikami "plik1.txt" ... "plik99.txt" Pokaz jak jednym poleceniem "xcopy" (ale z pomoca wiekszej liczby innych polecen) skopiowac niektore pliki z "aaa" do katalogu "bbb". Jakie ten mechanizm moze miec zastosowanie w przypadku kopiowania na dyskietke ?. ++++++++++++++++++++++++++++++++++++ skrypty DOS-u, czyli pliki *.BAT polecenia uzywane w skryptach : * call skrypt uruchomienie skryptu jak procedury; zwykle "skrypt.bat" bez "call" spowoduje ze nie bedzie powrotu do skryptu wywolujacego ! * @echo off echo. echo Tekst, tekst ... * goto etykieta Np petla nieskonczona: :xxx echo 123 goto xxx mozna ja zatrzymac przez Ctrl-C * for %%zmienna in (lista) do komenda Np (wewnatrz skryptu): for %%x in (qqq,www,eee) do echo %%x for %%x in (*.txt,*.qqq) do type %%x * set zmienna=wartosc tworzenie zmiennych srodowiska Np: set x=123 -- tworzenie zmiennej set x= -- usuniecie zmiennej echo x=%x% -- odczytanie wartosci zmiennej (w skrypcie) * if [not] warunek komenda Np: if exist plik.txt echo Plik plik.txt istnieje ! if "%x%" == "123" echo Zmienna x == 123 ! if errorlevel 5 echo Kod wyjscia ostatniego polecenia >= 5 ! * shift, parametry skryptu %0, %1, %2, ... po wywolaniu skryptu z parametrami zmienne %0, %1, ... maja nastepujace wartosci skrypt.bat 111 222 333 %0 %1 %2 %3 po wykonaniu "shift" sytuacja sie zmienia skrypt.bat 111 222 333 %0 %1 %2 .................. Z7. Napisz skrypt, ktory wyswietla wszystkie swoje parametry Z8. Napisz skrypt, ktory wyswietla wszystkie swoje parametry oraz sprawdza czy sa plikami (jesli sa to wyswietla odpowiedni komunikat), Np: skrypt.bat qqq.txt www.txt rrr.txt ttt.txt qqq.txt (jest plikiem) www.txt (nie istnieje) rrr.txt (jest plikiem) ttt.txt (nie istnieje) Z9. Napisz skrypt ktory po uruchomieniu dopisuje pewien katalog do PATH-a, a po drugim uruchomieniu przywraca pierwotna wartosc zmiennej PATH (.. i tak dalej - na przemian) Z10. Napisz skrypt pelniacy role ksiazki telefonicznej : Sposoby uruchamiania : --> dodanie nowego nazwiska ksiazka Kowalski 123123 --> odczytywanie nr telefonu ksiazka Kowalski Z11. Napisz skrypt "type2" ktory jest uszlachetniona wersja polecenia "type" : moze byc uruchamiany z wieloma parametrami bedacymi nazwami plikow (moga zawierac znaki globalne *?) Z12. Napisz plik wsadowy ktory wyswietla date i czas ale nie zacheca do wprowadzenia nowej daty/czasu Z13. Napisz program wsadowy ktory umozliwia pomiar czasu wykonania dowolnego programu Z14. Napisz program wsadowy ktory sprawdza czy zawartosc dwoch katalogow jest identyczna (chodzi tylko o nazwy plikow w tych katalogach !)