Skip to Content

IT nieuczesane.

Skrypty linii poleceń od zera

część druga – ‚Poziom 1’

  1. Cechy cmd
  2. Kolejne komendy linii poleceń
  3. Pierwszy skrypt
  4. Przekierownie strumienia danych
  5. Parametry wywołania dla skryptu
  6. Zadania

i oczywiście na końcu słowniczek.



  1. Cechy cmd

    Poruszanie się po katalogach przy pomocy linii poleceń jest dość niewygodne. Wystarczy przypadkowo źle wpisać jedną literkę i już trzeba przepisywać od nowa… czy aby na pewno?
    Aby korzystanie z cmd było przyjaźniejsze, czy też mówiąc w prost: żeby nie było upierdliwe, wyposażone zostało w kilka [niestety] ubogich pomocy, które znacząco przyspieszają [ułatwiają] korzystanie z konsoli.

    Historia poleceń

    Wszystkie polecenia wpisywane podczas trwania jedej sesji [czyli od czasu uruchomienia cmd do jego zamknięcia] są zapamiętywane i można się do nich szybko odwołać korzystając ze strzałek góra/dół. Inaczej: tworzona jest lista poleceń. Naciskając strzałkę w górę pokazywane jest polecenie wyżej na liście, naciśnięcie strzłki w dół będzie pokazywać kolejne polecenia w dół listy.

    zad.1.1 wpisz kilka poleceń. np:

    • mkdir aaa
    • cd aaa
    • mkdir bbb
    • cd bbb
    • cd ..

    teraz korzystając wyłącznie ze strzałek góra/dół:

    • wyjdź do katalogu głównego, załóż w nim katalog ‚bbb’
    • wejdź do katalogu ‚bbb’
    • załóż katalog ‚aaa’
    • wejdź do niego
    • wyjdź do katalogu głównego

    Kolejną pomocą może być strzałka w prawo. Ostatnio wykonywane polecenie można odtworzyć korzystając ze strzałki w prawo.

    zad.1.2 wpisz polecenie ‚mkdir katalog’. Teraz pomagając sobie strzałką w prawo załuż katalog ‚kakaka’.

    Kolejną bardzo pomocną rzeczą jest możliwość kopiowania elementów textu z ekranu, dzięki czemu jeśli coś pojawiło się jako wynik operacji na ekranie, nie trzeba tego znów ‚wklepywać’. Kopiowanie wykonuje się zaznaczając wybrany text konsoli, przytrzymując lewy guzik myszy. Text będzie podświetlany podczas zaznaczania. Po naciśnięciu <enter> zostanie skopiowany do schowka.
    UWAGA! jeśli operacja ta nie działa najprawdopodobniej wyłączona jest opcja ‚QuickEdit Mode’. Opis opcji i jak to włączyć znajduje się kawałek dalej.

    zad.1.3 wpisz polecenie ‚tracert microsoft.com’. Zaznacz myszką na ekranie wynik operacji i naciśnij <enter>. Otwórz notatnik, wklej zawartość. Czy w notatniku pojawił się wynik operacji tracert?

    zad.1.4 przejdź do katalogu „c:documents and settingsusernamedesktop” gdzie username to nazwa twojego użytkownika. Teraz zaznacz myszką z ekranu nazwę katalogu (prompt) i zaakceptuj enterem. Pomocniczy rysunek:
    cmdmark.jpg
    teraz wyjdź do katalogu głównego. wpisz kolejno:

    • cd i znak
    • naciśnij na ekranie konsoli prawy guzik myszy – powinna zostać wklejona skopiowana nazwa katalogu
    • zamknij cudzysłów
    • zaakceptuj enterem

    zad.1.5 wpisz polcenie ‚nslookup wp.pl’ – powinien zostać zwrócony nr IP servera wp.pl. Zaznacz adres IP jaki zwróciło polecenie nslookup.
    cmdmark2.jpg
    wpisz komendę ‚ping’ (ze spacją!) i naciśnij prawy guzik myszy na ekranie konsoli. Powinien zostać wklejony zapamiętany adres IP. Wykonaj komendę, żeby sprawdzić czy działa.

    Opcje – konfiguracja działania cmd

    To nie jest koniec możliwości. Otwierając właściwości okna konsoli (PGM na belce okna-> properties) możemy skonfigurować wiele różnych parametrów – dopasować sobie kolory wyświetlania, rodzaj używanej czcionki (zakładka ‚colors’ i ‚fonts’) ale co ważniejsze można skonfigurować opcje pomagające podczas częstego używania linii poleceń.
    cmdproperties.jpg
    najważniejsze opcje to ‚QuickEdit Mode’, które włącza obsługę zaznaczania i kopiowania textu myszką oraz ‚Buffer Size’, które pozwala na ustalenie ile kolejnych komend będzie przetrzymywane w historii.
    Istnieje jeszcze kilka innych udogodnień, o których można się dowiedzieć wpisując ‚cmd /?‚, a które wymagają dokonania zmian w rejestrze. Do takiej funkcji można zaliczyć dokańczanie nazw plików/katalogów po naciśnięciu klawisza tabulacji (funkcja standardowo aktywna w winXP… chyba).

  2. Kolejne komendy linii poleceń

    Poprzednio opisywane komendy (poziom 0) pozwalają poruszać się po drzewie katalogów oraz wykonywać podstawowe operacje dyskowe typu kopiowanie, zakładanie i kasowanie katalogów etc. Czas poznać kolejne komendy, które przydadzą sie do operacji na plikach (raczej textowych) oraz są przydatne do pisania krótkich skryptów.

    Type

    Podstawową komendą umożliwiającą przeglądanie plików jest ‚type’ (od ang. wypisz). To proste polecenie pozwala wyświetlić zawartość pliku textowego. Jako parametr należy oczywiście oodać nazwę rządanego pliku.

    zad.2.1 uruchom z linii poleceń program ‚edit‚. Jest to prosty program pozwalający na edycję plików textowych. Jeśli uruchomi się go z parametrem, automatycznie przejdzie do edycji pliku, który był podany jako parametr. Uruchomiony bez parametru pozwala na stworzenie nowego programu. Do górnego menu można dostać się naciskjąc klawisz ‚alt’ – i jedną z podkreślonych liter.

    Korzystając z tego programu stwórz plik textowy zawierający kilka dowolnych linii textu. Zapisz plik (alt-f w wersji angielskiej, alt-p w wersji polskiej przejdzie do menu ‚plik’ pozwalającej zachować dokument) po nazwą „plik textowy”.
    wykonaj komendę ‚type „plik textowy”‚.

    Są dwa podstawowe rodzaje plików – pliki textowe oraz pliki binarne. Pliki textowe zawierają czysty text, pliki binarne to wszelkiego rodzaju pliki uruchamialne, obrazki, pliki bazy danych i inne. Pliki binarne wymagają specyficznych programów pozwalających na ich interpretację. Na plikach textowych operacje wykonuje się jakim kolwiek edytorem textu (notepad, edit, etc). Wyświetlenie pliku binarnego poleceniem ‚type’ może dać dość dziwne efekty, ponieważ pliki takie zawierają znaki, które konsola traktuje jako polecenia. Należy wystrzegać się takiego użycia – choć nie jest to zbyt niebezpieczne, może wywołać dziwne efekty na ekranie. Dla bezpieczeństwa nadaje się tym plikom rozszeżenie ‚.txt’, choć nie jest to konieczne. Innymi popularnymi plikami textowymi są np. pliki ‚.ini’ (konfiguracyjne), ‚.sys’ (konf. systemowa), ‚.cmd’ (pliki wsadowe), ‚.bat’ (pliki wsadowe) i wiele wiele innych.

    zad.2.2 wejdź do katalogu systemowego. Korzystając z polecenia ‚dir’ wyświetl wszystkie pliki textowe posiadające rozszeżenie ‚txt’. Przeczytaj zawartość jednego z nich korzystając z polecenia ‚type’.

    more

    Poprzedni przykład powinien pokazać, że korzystanie z polecenia ‚type’ jest mało wygodne ponieważ jeśli plik jest dłuższy niż ilość linii na ekranie, nie jest się w stanie obejrzeć całej zawartości. Można by skorzystać z programu edit – jest to jednak zbyteczne. Jest wygodniejsze narzędzie do czytania plików textowych: more (od ang. więcej).

    zad.2.3 wyświetl ten sam plik co poprzednio, korzystając z polecenia ‚more’.

    Jak widać plik ten ‚dzieli’ cały text na ekrany, zatrzymując się po każdym ekranie textu i czekając na interwencję użytkownika. Jest od dużo wygodniejszy do czytania niż ‚type’.

    Po co więc ‚type’?
    Po pierwsze ‚more’ jest programem, o czym można się przekonać przeszukując katalog ‚system32’ w katalogu systemowym.

    zad.2.4 korzystając z polecenia dir, wyświetl wszystkie plki zaczynające się na ‚more’ w podkatalogu ‚system32’ w katalogu systemowym. Poszukaj czy jest program o nazwie ‚type’.

    Po wykonaniu zadania widać, że type jest wbudowaną komendą konsoli, more jest dodatkowym programem. Druga różnica jest w zastosowaniu – ‚more’ przydaje się do czytania plików textowych, ‚type’ jest przydatny do ich tworzenia, o czym będzie później w tej części artykułu. Oba te polecenia warto znać, a zastosowanie ‚type’ stanie się bardziej jasne za chwilę.

    echo

    Echo jest bardzo śmiesznym poleceniem i nie trudno się domyślić jakie jest jego działanie – powtarza ono to co się mu ‚powie’.

    zad.2.5 wpisz polecenie ‚echo ciekawe co powiesz?

    Polecenie to wydaje się zupełnie bez sensu. Ma jednak swoją wartość, kiedy używa się go w skrypcie – co będzie pokazane za chwilę, ponieważ teraz napiszemy

  3. Pierwszy skrypt

    Zanim napisze się pierwszy skrypt, warto wiedzieć czym skrypt wogóle jest. Skrypty często mylone są z programami, pewnie z tego względu, że ‚coś trzeba wpisać, żeby coś sie zrobiło i można to uruchomić jeszcze raz i zrobi się to samo’ (; Pomiędzy skryptem a programem jest jednak olbrzymia różnica – zarówno funkcjonalna jak i techniczna. Fukcjonalna polega na tym, że skrypty są bardzo ubogie w porównaniu z językami programowania, przez co są prostrze do opanowania, ale dają dużo mniejsze możliwości. Techniczna polega na tym, że program pisze się w języku tzw. wysokiego poziomu – np. c++, delfi, cobol – po czym następuje jego komilacja, czyli zamiana na kod maszynowy dla konkretnego procesora.

    zad.3.1 wybierz jakiś mały plik (2o-3oKb) .exe. Otwórz notatnik, w nim otwórz ten plik.

    Skompilowane pliki mają postać binarną – widzianą jako ‚krzaki’, które niewiele mówią człowiekowi.

    Skrypty:

    • nie są kompilowane
    • mają postać pliku textowego
    • są niezależne od procesora
    • mają prostą postać kosztem ograniczonej funkcjonalności
    • technicznie: programy są ‚uruchamiane’, skrypty są ‚interpretowane’. Polega to mniej więcej na tym, że wykonywane są linia po linii aż do wystąpienia błędu lub zakończenia. Program podczas kompilacji jest sprawdzany, i jeśli wystąpi jakiś błąd, kompilacja nie będzie możliwa.

    Jest wiele różnych języków skryptowych, dających różne możliwości. Oto skrócona definicja skryptu:

    Skrypt jest ‚makrem’ automatyzującym jakąś czynność.

    Definicja ta nie jest 1oo% prawdziwa [można sobie napisać jakąś prostą grę w języku skryptowym – tak samo jak można jeździć na łyżwach po asfalcie], ale wystarczy. Dzieki skryptom linii poleceń można zautomatyzować często powtarzane operacje – np. wyrzucanie plików tymczasowych z kilku katalogów, segregacja i przenoszenie plików na podstawie ich nazw… etc.

    No ale wciąż brakuje konkretów. Czym jest namacalnie ‚skrypt linii poleceń’? Jest niczym innym, jak plikiem textowym z rozszeżeniem ‚.cmd’ [lub ‚.bat’], w którym są wpisane kolejne komendy linii poleceń.

    zad.3.2 z linii poleceń utwórz plik ‚pierwszySkrypt.cmd’ [edit „pierwszySkrypt.cmd”]. Wpisz do niego:

    Zapisz plik. Wyjdź z edytora i uruchom plik wpisując jego nazwę [z rozszeżeniem lub bez]. Popatrz na efekty.

    Innymi słowy, wszystko co tylko można wpisać ręcznie w linii poleceń, można wpisać do pliku textowego, nadać mu rozszeżenie ‚.cmd’ i wykonać je hurtem.

    UWAGAPonieważ skrypt wykonuje się aż do wystąpienia błędu, należy przed wpisaniem wszystkich komend do jednego pliku, najpierw przetestować każdą z nich. Czyli pierwszy raz zrobić operację ręcznie z linii poleceń, i jeśli wszystko zadziała, wpisać polecenia do jednego pliku.

    zad.3.3 napisz skrypt, który będzie zakładał poniżej przedstawioną strukturę katalogów, a następnie ją usuwał nie zadając pytań. nazwij go ‚drugiSkrypt.cmd’.
    dirtree.jpg
    tips: standardowo rmdir kasuje tylko puste katalogi oraz zadaje pytanie proszące o potwierdzenie usunięcia. Skorzystaj z helpa, aby sprawdzić parametry rmdir, które przydadzą się przy tym poleceniu.

    Podstawą działania wszelkich automatów jest to, aby były bezdotykowe – czyli wykonały się od początku do końca nie zadając żadnych pytań. Należy być ostrożnym przy pisaniu/wykonywaniu skryptów, które coś usuwają, formatuje etc, aby sobie nie uszkodzić własnej pracy. Mówiąc w skrócie – mają one pomóc, ale należy się z nimi obchodzić ostrożnie i ze świadomością.
    Większość poleceń standardowo zabezpiecza przed przypadkowym usunięciem lub nadpisaniem. Większość z nich również posiada przełącznik [parametr], który umożliwia pracę w ‚cichym’ trybie, czyli odpowiadając na wszysko ‚OK’. Dla tego ważne jest, żeby wszystko przetestować najpierw ręcznie – po drodze sprawdzając jak zachowuje się konkretna komenda i co dokładnie robi. Dzięki temu skrypt zadziała na pewno, oraz nie zniszczy nieodpowiednich plików. W każdym razie nie wszystkie na raz automatycznie (; .

    zad.3.4 czas troche ‚upiększyć’ skrypt. Zmień nazwę pliku ‚pierwszySkrypt.cmd’ na ‚trzeciSkrypt.cmd’ (skorzystaj z polecenia help aby znaleść polecenie, służące do zmiany nazwy pliku). Wyedytuj plik ‚drugiSkrypt.cmd’ do postaci:

    Uruchom skrypt i zobacz na wynik. Czy przydatność polecenia ‚echo’ jest teraz jasna? (:

  4. Przekierowanie strumienia danych

    Ponieważ skrypt z definicji ma coś robić automatycznie i bez pytań, często podczas naszej nieobecności [np. na serverze w środku nocy, kiedy nikt nie pracuje], więc warto było by potem móc przetestować wyniki jego działania. Jeśli działanie sprowadza się do tak prostej czynności jak założenie czy skasowanie jednego katalogu, to można po prostu sprawdzić czy ten katalog jest na dysku. Skrypty pisze się raczej do zautomatyzowania bardziej skomplikowanych czynności, i prześledzenie efektów mogłoby zająć tyle, co zrobienie tego ręcznie. Tak też przydałaby się jakaś możliwość założenia logu [dziennika] tego skrypt zrobił… lub czego zrobić nie mógł. Sposób na to jest bardzo prosty – należy przekierować strumień danych do pliku (; .

    Strumień danych

    Mówiąc strumieniem danych w takim kontexcie ma się w domyśle na myśli ‚strumień danych wyjściowych’. Jeśli program coś wypisuje – to co wypisuje jest ‚danymi wyjściowymi’. Strumień dodatkowo określa gdzie te dane mają zostać przekazane. Standardowym strumieniem danych wyjściowych jest ekran – dzięki czemu standardowo wszystkie programy wyświetlają wyniki swojego działania właśnie na ekranie. Czyli danymi wyjściowymi dla polecenia ‚echo ala ma kota‚ jest ‚ala ma kota‚. Strumieniem danych wyjściowych jest oczywiście ekran, ponieważ wyniki zostaną wypisane na ekran po wykonaniu tego polecenia.

    zad.4.1 skopiuj dowolny plik w dowolne miejsce… korzystając oczywiście z polecenia ‚copy’. Popatrz się co wypisuje polecenie ‚copy’. Zastanów się co jest danymi wyjściowymi dla polecenie ‚copy’? Co jest Strumieniem danych wyjściowych?.

    Wystarczy poleceniu ‚powiedzieć’, że ma zamiast na ekran wypisywać wszystko do pliku, aby otrzymać ‚dziennik’ całej działalności skryptu, który można sobie obejrzeć w późniejszym terminie. Jeśli operacja nie powiedzie się – przeczytamy to z pliku. Aby przekierować strumień danych do pliku, należy na końcu polecenia użyć znaku ‚>‚ i podać nazwę pliku.

    zad.4.2 wpisz polecenie ‚echo ala ma kota >wynik‚. Czy pojawiło się coś na ekranie? Wylistuj zawartość katalogu – czy jest w nim plik ‚wynik’? wylistuj jego zawartość.

    zad.4.3 wpisz polecenie ‚copy sdokfasodfn >wynik‚. Czy cokolwiek zostało wypisane na ekran? wylistuj zawartość katalogu – czy jest w nim plik ‚wynik’? wylistuj jego zawartość.

    zad.4.4 wpisz polecenie ‚mkdir temp‚. Co jest danymi wyjściowymi dla tego polecenia? wykonaj polecenie powtórnie – co teraz jest danymi wyjściowymi? wyedytuj plik ‚czwartySkrypt.cmd’. Wpisz:

    sprawdź zawartość pliku ‚wynik’. Czy są w nim dane wyjściowe z obu komend?

    Przekierowanie strumienia danych korzystając ze znaku ‚>’ działa w ten sposób, że zakłada nowy plik lub nadpisuje istniejący jeśli już taki istnieje. Zad. 4.4 powinno pokazać że tym sposobem w pliku znajduje się tylko wynik ostatniej operacji – a co z poprzednimi? Aby wyniki były dopisywane do pliku, zamiast za każdym razem zastępowane nowym plikiem, należy użyć przekierowania o postaci: ‚>>‚.

    zad.4.5 wyedytuj plik ‚czwartySkrypt.cmd’. Zastąp znaki ‚>’ znakami ‚>>’. Uruchom skrypt dwa lub trzy razy. Sprawdź zawartość pliku ‚wynik’.

    Dzięki temu prostemu mechanizmowi, już w tej chwili powinno się umieć napisać skrypt, który będzie np. czyścił kilka katalogów z plików .tmp, i wyniki operacji zapisywał do pliku. Odczytując zawartość pliku można przekonać się czy operacja zakończyła się sukcesem, czy też z jakiegoś powodu niepowodzeniem [np. podana została nazwa nieistniejącego katalogu]. Teraz można taki skrypt po przetestowaniu dodać do schedulera, żeby uruchamiał się codzinnie o którejś h i co jakiś czas przeglądać plik wynikowy upewniając się, że wszystko czyści się jak należy (: .

    Bardziej zaawansowane – dwa żródła strumieni danych

    Każdy strumień ma swoje źródło. źródłem strumienia w omawianych programach była komenda, którą się wywoływało – to ona generowała dane, które wyświetlała na ekran. Ale jeśli wykona się komendę, która się z jakiegoś powodu wykonać nie może, źródłem strumienia będzie system operacyjny, który poinformuje nas o niemożności wykonania polecenia.

    zad.4.6 wykonaj polecenie ‚tralalala >wynik‚. Czy pojawiło się coś na ekranie? Jaka jest zawartość pliku ‚wynik’?

    Ponieważ nie ma polecenia tralalala, nie mogło się ono wykonać a zatem nie mogło być źródłem żadnych danych, a zatem plik jest pusty. Inny przykład:

    zad.4.7 wpisz polecenie: ‚cd /d „%userprofile%‚. Wyjaśnienie tego polecenia będzie w następnej części – o zmiennych środowiskowych. Następnie wykonaj polecenie: ‚del ntuser.dat >wynik‚. Czy pojawiło się coś na ekranie? jaka jest zawartość pliku ‚wynik’?

    Tu sytuacja jest podobna. polecenie ‚del’ nie wykonało się z braku dostępu do pliku. Komunikat który się pojawił został więc wygenerowany przez system a nie przez polecenie ‚del’, dla tego plik ‚wynik’ jest pusty a komunikat pojawił się na ekranie. Reasumując są dwa źródła strumienia danych:

    1. program/komenda którą się wykonuje
    2. system operacyjny

    zad.4.8 sprawdź czy jesteś nadal w katlogu swojego profilu [jak w zad.4.7]. Wykonaj polecenie: ‚del ntuser.dat 2>wynik‚. Sprawdź zawartość pliku ‚wynik’. Następnie wykonaj polecenie: ‚del ntuser.dat 1>wynik‚. Sprawdź zawartość pliku ‚wynik’.

    dla wnikliwych: aby przekierować oba strumienie do pliku: 2>1 1>plik

    Przekazanie danych

    Przekierowanie do pliku pozwala tworzyć log działania. Często jednak przydało by się przekać wynik jakiejś operacji do innego programu. Wykorzystuje się do tego znak ‚|‚ (tzw. pipe). Program musi oczywiście ‚spodziewać się’ danych – czyli nie zawsze to zadziała. przykład:

    zad.4.9 wyszukaj plików textowych w katalogu systemowym (korzystając z polecenia dir). Wybierz któryś plik. Wpisz ‚type wybranyplik.txt‚. Teraz wykonaj polecenie ‚type wybranyplik.txt|more‚.

    W przypadku plików textowych korzystanie z przekazania danych do programu more nie ma większego sensu – równie dobrze można wykonać po prostu polecenie ‚more wybranyplik.txt’. Jednak metoda ta ma zastosowanie, jeśli program którego sie używa sam w sobie nie potrafi dzielić na ekrany. Inny przykład, do którego będzie potrzebna dyskietka, którą można zformatować:

    zad.4.1o włóż do flopa jakąś niepotrzebną dyskietkę (sprawdź czy nie jest zabezpieczona przed zapisem). Standardowo polecenie ‚format’ wymaga potwierdzenia przed formatowaniem. W zależności od wersji językowej trzeba nacisnąć ‚Y’ lub ‚T’. Aby to ominąć można wykorzystać polecenie ‚echo’ oraz przekazanie:
    echo y|format a: /u/v:””

  5. Parametry wywołania

    Do pełni szczęścia, aby pisać niemal pełnowartościowe skrypty, brakuje jeszcze jednego elementu: parametrów wywołania. Automatyzacja operacji jest bardzo przydatna, ale skrypt aby był na prawdę przydatny, musi być uniwersalny. Aby był uniwersalny powinien móc przyjmować jakieś argumenty wywołania. No bo jeśli mamy skrypt który sumuje 2 i 2 – fajnie, ale co jeśli bym chciał dodać 5 i 7? musze na to pisać inny skrypt? po prostu wartości, które chcę sumować powinno dać się podać jako parametr wywołania. Najlepiej wyjaśnić to oczywiście na przykładzie.
    Scenariusz:
    Chciałoby się móc uruchomić program ‚kopiuj co gdzie‚. Czyli po prostu zmienić nazwę dla programu ‚copy’, tak aby można było zamiast ‚copy’ wpisać ‚kopiuj’. Można do tego napisać skrypt ‚kopiuj.cmd’, w którym wykorzystana będzie komenda ‚copy’. Komendzie tej trzeba dostarczyć parametry co ma kopiować i gdzie, i parametry te powinny być jakoś przekazane z wywołania skryptu dla tej komendy. Nic prostrzego:

    zad.5.1 wyedytuj plik ‚kopiuj.cmd’. Wpisz w nim:

    • copy %1 %2

    Zachowaj, zamknij. Wylistuj katalog i wyszukaj jakiś dorbny pliczek. Wpisz ‚kopiuj wyszukany.cos niewazne.co‚. wyszukany.cos to oczywiscie plik ktory został upatrzony, a niewazne.co może zostać – stworzy to kopię pliku pod nazwą ‚niewazne.co’.

    Jak widać w przykładzie, kolejne parametry wywołania można wykorzystać w skrypcie zapisując je jako kolejna cyferka poprzedzona znakiem ‚%’. Inny przykład:

    zad.5.2 wyedytuj plik ‚dodaj.cmd’. Wpisz w nim:

    • echo %1 %2 %3 %4

    Zachowaj, zamknij edit. wpisz ‚dodaj cos inne i jeszcze’. Uruchom jeszcze kilkukrotnie wpisując różne parametry. Spróbuj podać więcej parametrów, zobacz co sie stanie.

    Przykład jak zrobić skrypt, który na prawdę będzie dodawał pojawi się w następnej części – to taki wstęp.

  6. Kilka zadań

    Ponieważ wszystkie podstawowe elementy zostały już omówione, poniżej przedstawione jest kilka przykładowych zadań, które powinno się potrafić zrobić po przestudiowaniu obu części artykułu. Pozwolą one przetrenować poznane elementy. W razie problemów z jakimś zadaniem przeanalizuj jeszcze raz zadania cząstkowe z poszczególnych rozdziałów. Pamiętaj o pomocy jaką oferuje system.

    ZADANIE A

    W jaki sposób znaleść plik o nazwie ‚notepad.exe’ gdzie kolwiek na dysku c? tips: dir
    Napisz skrypt ‚szukaj.cmd’, który będzie przyjmował dwa paramerty – literę dysku oraz nazwę pliku. Po wywołaniu:
    szukaj d: plik.txt
    Wyniki wyszukiwania powinny zachować się w pliku ‚wyniki.wyszukiwania’.

    ZADANIE B

    Usprawnij skrypt z poprzedniego zadania wg. przedstawionych warunków:

    • plik ‚wyniki.wyszukiwania’ nie powinien być nadpisywany – niech kolejne wyniki dopisują się na koniec pliku.
    • program ‚date’ wypisuje date systemową. Sprawdź jakie przyjmuje parametry. Przekieruj wynik – datę – do pliku. Kiedy będziesz potrafił[a] to już zrobić, usprawnij skrypt, aby przed wynikiem każdego wyszukiwania pojawiała się data uruchomienia polecenie szukaj.
    • w pliku ‚wyniki.wyszukiwania’ powinna się po dacie pojawić adnotacja typu: ‚uruchomiono z parametrami dysk: d: plik: plik.txt’.
    ZADANIE C
    • Napisz skrypt ‚logi.cmd’ który będzie przyjmował dwa parametry. Uruchomienia powinno mieć postać:

      logi a pliklogu
      gdzie ‚a’ jest dowolną literą alfabetu, a ‚pliklogu’ dowolną zazwą pliku.

    • skrypt ma założć gdzieś [np. na dysku d:] katalog ‚zrzut’ a następnie skopiować do niego wszystkie pliki txt, ini oraz log z katalogu systemowego.
    • Następnie powinien skasować wszystkie pliki zawierające literkę podaną jako pierwszy parametr.
    • Skrypt powinien wygenerować plik logu, który ma mieć nazwę określoną drugim parametrem [‚pliklogu’].
    • Plik logu powinien zawierać opisy co aktualnie robi skrypt typu ‚kopiuje plki txt do katalogu zrzut’.
    • na końcu pliku logu ma znaleść się lista wszystkich plików z katalogu ‚zrzut’.

w następnym odcinku:

  • konfiguracja srodowiska pracy
  • zmienne srodowiskowe
    – set
    – path
    – %zmienna%
  • bardziej zaawansowane
    – find
    – if

    – for

  • czemu dziala uruchomienie ‚plik.txt’
    – po co sa rozszezenia plikow

Słowniczek

  • Buffer Size: wielkość bufora
  • colors: kolory
  • fonts: czcionka
  • properites: właściwości
  • QuickEdit mode: tryb szybkiej edycji