II. Programowanie wsadowe DOS/Windows



Podobne dokumenty
Laboratorium Systemów Operacyjnych Komputerów Tryb linii komend i programowanie wsadowe w systemach DOS/Windows

Trochę o plikach wsadowych (Windows)

TEMAT : System operacyjny MS DOS pliki wsadowe

Wiersz poleceń Windows

Systemy operacyjne II Laboratorium. Część 1: Pliki wsadowe Windows

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Narzędzia informatyczne w językoznawstwie

Wiersz poleceń systemu Windows. Wybrane polecenia linii poleceń (podstawowe operacje dyskowe)

Administracja systemem Windows XP

Systemy operacyjne Laboratorium. Pliki wsadowe Windows (część 2)

Windows XP Wiersz polecenia

PODSTAWOWE INFORMACJE NA TEMAT KONSOLI W SYSTEMIE WINDOWS

SYSTEMY OPERACYJNE ĆWICZENIE POLECENIA SYSTEMU MSDOS

Polecenia wewnętrzne:

Pliki wsadowe systemu DOS

Korzystając z plików wsadowych, zwanych również programami wsadowymi lub skryptami, można uprościć rutynowe lub wielokrotnie wykonywane zadania.

1 Przygotował: mgr inż. Maciej Lasota

@echo off wyłączyliśmy polecenie "echo" Pause>nul oczekiwanie naciśnięcia dowolnego przycisku Pause? echo. przerwa miedzy wierszami

Podstawowe informacje o obsłudze pliku z uprawnieniami licencja.txt

Pliki wsadowe powłoki Windows.

DOS. Opis podstawowych komend w systemie MS DOS 6.22

del - usuwanie zbioru lub grupy zbiorów z dysku, np. del c:\public\autoexec bat, del c:\public\*.*

Rozdział 7. Drukowanie

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle

Konta uŝytkowników. Konta uŝytkowników dzielą się na trzy grupy: lokalne konta uŝytkowników, domenowe konta uŝytkowników, konta wbudowane

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.

Temat: Wybrane polecenia systemu DOS.

Rozdział 2. Konfiguracja środowiska pracy uŝytkownika

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy - ćwiczenia. 012a

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Instrukcja obsługi. Generatora CSV

Systemy operacyjne I Laboratorium Część 3: Windows XP

Podstawy systemu operacyjnego Windows 7 i bezpieczne korzystanie z sieci Internet

DOS Podstawowe komendy Przygotowanie dyskietki do pracy Praca z katalogami w systemie DOS Operacje kopiowania

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

vi - Visual edytor Wymagania.we: przerobione Pliki i kartoteki

Ćwiczenie 1. Ćwiczenie 2. Ćwiczenie 3. Opisz działanie następujących komend systemowych : COPY EDIT FDISK FIND FORMAT XCOPY

Kopiowanie, przenoszenie plików i folderów

6. Pliki i foldery na dyskach NTFS

Rozdział 8. Sieci lokalne

Technologia informacyjna. Laboratorium nr 1.

Technologie Informacyjne - Linux 2

Techniki zaznaczania plików i folderów

Program do obsługi ubezpieczeń minifort

Bash - wprowadzenie. Bash - wprowadzenie 1/39

W oknie na środku, moŝna wybrać język, który będzie językiem domyślnym dla TC. Wybierzmy zatem język polski:

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Dodatki. Dodatek A Octave. Język maszyn

PIERWSZE URUCHOMIENIE PROGRAMU ITNC PROGRAMMING STATION

Praca w programie Power Draft

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Generowanie tabel na podstawie pliku, utworzonego podczas poprzedniej aktualizacji baz danych oświatowych

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

Programowanie w języku Python. Grażyna Koba

UMOWY INSTRUKCJA STANOWISKOWA

Instrukcja obsługi programu Creative Fotos

Windows 10 - Jak uruchomić system w trybie

Za pomocą niniejszej instrukcji baza programu MAK zostanie przygotowania do eksportu na METALIB.

Laboratorium - Praca z poleceniami wiersza poleceń w systemie Windows

Zakład Systemów Rozproszonych

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Skróty klawiaturowe w systemie Windows 10

C-geo definicja/edycja obiektów, zapis danych w formacie shape

Dlaczego stosujemy edytory tekstu?

Generator Wniosków Płatniczych dla Programu Operacyjnego Kapitał Ludzki. Instrukcja Instalacji

Obsługa komputera. Paweł Kruk

Instrukcja Instalacji

Zasoby dyskowe: Eksplorator Windows Z zasobami dyskowymi związane są nierozłącznie prawa dostępu gwarantujące możliwość odczytu, kasowania,

30/01/2008. Instrukcja obsługi RoofCon Viewer

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

SSK - Techniki Internetowe

2. Podstawy programu Microsoft Access

Program APEK Użytkownik Instrukcja użytkownika

Instrukcja uŝytkowania

FlowSoft02. Przeznaczenie programu

I. Interfejs użytkownika.

1. GRAFICZNY INTERFEJS U

MS-DOS polecenia wewnętrzne i

Makropolecenia w PowerPoint Spis treści

Program Dokumenty zbiorcze dla Subiekta GT.

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 15 PRACA W TRYBIE MS-DOS. Opracował Sławomir Zieliński

Temat: Organizacja skoroszytów i arkuszy

Skróty klawiaturowe w PowerPoint

Program Serwisowy KSI3 Pro PROGRAM SERWISOWY. KSI3 Pro

Klawiatura. Klawisze specjalne. Klawisze specjalne. klawisze funkcyjne. Klawisze. klawisze numeryczne. sterowania kursorem. klawisze alfanumeryczne

Instrukcja uŝytkowania programu

Instrukcja pisania i użytkowania makroinstrukcji w programie TELE 32

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Notepad++ / PuTTY. Interaktywne środowisko programowania w języku ForthLogic. Wersja dokumentu P.1. Wersja dokumentu NP1.


System plików. Podstawy systemu Linux

Praca w programie Power Draft

Zajęcia 1. mgr Aleksandra Zakrzewska 22 maja 2006

Ustalanie dostępu do plików - Windows XP Home/Professional

Transkrypt:

II. Programowanie wsadowe DOS/Windows Instrukcję przygotowano na podstawie materiałów udostępnionych przez kolegów z Zakładu Sterowania Wydziału Elektrycznego (Obecnie oryginał instrukcji znajduje się na stronie http://www.ee.pw.edu.pl/~graniszw), plików pomocy do systemu Windows oraz materiałów własnych. 1. Wstęp Program wsadowy jest to ciąg poleceń trybu linii komend lub wywołań programów zapisany w pliku tekstowym o rozszerzeniu.bat Celem programowania wsadowego jest: przyspieszenie pracy personalizacja środowiska systemu operacyjnego W języku programowania wsadowego moŝna stosować wszystkie komendy dostępne w trybie linii komend. Do sterowania działaniem programu wsadowego słuŝą komendy sterujące: call - uruchamia programu wsadowego z poziomu innego programu wsadowego, a następnie powrót do programu źródłowego (odpowiednik procedury w językach wyŝszego rzędu) echo - wyświetla komunikaty na ekranie, oraz moŝe słuŝyć do włączania lub wyłączania wyświetlania komunikatów - powtarza komendę dla zestawu zmiennych for goto If - przechodzi do innej części programu - wykonuje komendy w zaleŝności od spełnienia warunku pause - zatrzymuje wykonanie programu do czasu wciśnięcia dowolnego klawisza rem - komentarz shift - przesuwa parametry programu (%9 %8,%8 %7 itd.) W dalszej części instrukcji zostaną szczegółowo omówione powyŝsze instrukcje. Informacje o sposobie wywołania komendy uzyskuje się poprzez wpisanie nazwy komendy z parametrem /? np.: if /?. Nazwy programów wsadowych podlegają tym samym ograniczeniom, jak nazwy plików w systemie - dopuszczalne są długie nazwy. Programy wsadowe uruchamia się podając w trybie interaktywnym nazwę pliku wsadowego (najlepiej łącznie z rozszerzeniem). Plik wsadowy moŝna takŝe uruchomić w trybie okienkowym wybierając go poprzez podwójne (lub jednokrotne - zaleŝnie od ustawień) kliknięcie klawiszem myszki - tak jak kaŝdy inny program. Zatrzymać wykonanie programu wsadowego moŝna poprzez naciśnięcie kombinacji klawiszy Ctrl+S lub Pause. Wykonanie programu jest kontynuowane po naciśnięciu dowolnego klawisza. Przerwać działanie programu wsadowego moŝna poprzez naciśnięcie kombinacji klawiszy Ctrl+C lub Pause. 2. UŜywanie Notatnika do tworzenia skryptów. Skrypty są plikami tekstowymi, więc do ich tworzenia moŝna uŝywać programu Notatnik. NaleŜy jednak uwaŝać na jedną cechę tego programu: podczas zapisywania dodaje on rozszerzenie txt do nazwy programu, np. zapisując pod nazwę skrypt.bat program zapisze skrypt.bat.txt, czyli NIE jest to skrypt. Aby Notatnik nie dodawał rozszerzenia, to przy pierwszym zapisie (tylko wtedy podajemy nazwę) oprócz wpisania nazwy i rozszerzenia, np. skrypt.bat naleŝy na oknie II. Programowanie wsadowe DOS/Windows 1

dialogowym wybrać opcję Wszystkie pliki w okienku Zapisz jako typ. Uchroni to przed dodaniem rozszerzenia txt. Przy przeglądaniu plików za pomocą standardowego narzędzia Mój komputer są ukryte znane przez system operacyjny rozszerzenia plików, co utrudnia podejrzenie prawdziwego rozszerzenia pliku. Aby wyłączyć tą opcję, naleŝy wybrać z menu Narzędzia Opcje folderów... a następnie na zakładce Widok odznaczyć opcję Ukryj rozszerzenia plików znanych typów. 3. Wyświetlanie komunikatów Komunikaty w programach wsadowych moŝna wyświetlać korzystając z instrukcji echo. Składnia tego polecenia: echo <Treść komunikatu> Aby wyświetlić pustą linię naleŝy uŝyć polecenia echo. (z kropką na końcu, bez spacji). echo Program przesuwa pliki z katalogu KAT1 do KAT2 move KAT1 KAT2 dir KAT2 Aby dany tekst nie wyświetlać na ekranie, ale aby zapisać do pliku, naleŝy posłuŝyć się symbolami przekierowania > oraz >> omówionymi w instrukcji do pierwszego ćwiczenia. W celu wyświetlania dłuŝszych tekstów, korzystniej jest zapisać treść w pliku tekstowym i wyświetlić go uŝywając instrukcji type - przyspiesza to pracę, szczególnie w sieciach. Komenda echo moŝe być uŝyta do ograniczenia wyświetlania wykonywanych instrukcji programu. I tak, aby wyłączyć wyświetlanie wykonywanych instrukcji naleŝy uŝyć instrukcji: echo off Aby włączyć wyświetlanie wykonywanych instrukcji: echo on Efekt podobny do uŝycia echo off dla pojedynczej instrukcji moŝna osiągnąć poprzedzając instrukcję znakiem @. Warto wspomnieć, Ŝe wywołując polecenie echo off pojawi się na ekranie ta instrukcja (bo echo nie jest jeszcze wyłączone), dlatego najczęściej jest wywoływane polecenie. Zazwyczaj nie jest poŝądane wyświetlanie poszczególnych poleceń ze skryptu, dlatego teŝ większość skryptów będzie się zaczynać od tego polecenia. echo Program kopiuje pliki tekstowe z katalogu KAT1 do KAT2 copy KAT1 KAT2 dir KAT2 II. Programowanie wsadowe DOS/Windows 2

4. Komenda pause Zatrzymanie programu moŝna wymusić korzystając z komendy pause. Instrukcja pause wyświetla komunikat Naciśnij dowolny klawisz aby kontynuować... a następnie oczekuje na wciśnięcie dowolnego klawisza. echo Program kasuje pliki tekstowe w KAT1 echo Zaczynam kasować... pause del KAT1\*.txt cls dir KAT1 W celu pominięcia wyświetlania komunikatu, wyjście komendy pause moŝna przekierować na wyjście puste: nul, tak jak na poniŝszym przykładzie: echo Naciśnij dowolny klawisz pause > nul Ćwiczenia do wykonania 1. W katalogu, do którego masz prawo do zapisu, utwórz skrypt o nazwie a.bat 2. Skrypt ma utworzyć następującą strukturę katalogów:. kat1 kat2 podkatalog jeden (proszę zachować spację w nazwie podkatalogu) 3. W kaŝdym podkatalogu proszę utworzyć plik nazwa.txt, który będzie zawierał ścieŝkę do tego katalogu (naleŝy wykorzystać polecenie cd i przekierowanie strumienia) 5. Etykieta i skok do etykiety goto Etykieta jest to nazwa danego wiersza w skrypcie. Etykiety definiuje się pisząc nazwę etykiety poprzedzoną dwukropkiem np.: :etykieta Poprzez etykiety i instrukcje skoku goto moŝna zmienić kolejność wykonywania instrukcji programu. Składnia polecenia skoku wygląda następująco: goto etykieta : echo Zaraz zostanie wywołana instrukcja skoku II. Programowanie wsadowe DOS/Windows 3

goto et1 echo To polecenie zostanie pominięte :et1 6. Programy z parametrami i polecenie shift Programy wsadowe mogą być wywoływane z parametrami tak jak zwykłe programy/polecenia, np. dla polecenia copy plik1 plik2 pierwszym argumentem jest plik1, a drugim plik2. Dostęp do parametrów z poziomu programu wsadowego odbywa się przez uŝycie symboli %0 do %9. Symbol %0 oznacza nazwę wykonywanego programu wsadowego. Symbole od %1 do %9 odpowiadają kolejnym parametrom. W sposób prosty moŝna się odwołać do dziewięciu parametrów. echo Program kopiuje pliki tekstowe pause copy %1\*.txt %2 cls dir %2 /p Aby móc odczytać kolejne parametry NIE moŝna posłuŝyć się symbolem %10, poniewaŝ przez system zostanie to zrozumiane jako parametr pierwszy, do którego zostanie doklejone 0, czyli dla wywołania: Skrypt.bat Ala Ola 4 5 6 7 8 9 10 11 parametry będą interpretowane w następujący sposób %1 = Ala %10 = Ala0 Aby móc korzystać z kolejnych parametrów naleŝy uŝyć polecenia shift, które przesuwa kolejność argumentów o jeden, tzn. parametr %1 staje się parametrem %0, parametr %2 staje się %1 itd., natomiast niedostępny wcześniej parametr dziesiąty staje się parametrem %9 (poprzednia wartość parametru %0 zostanie skasowana ). echo %0 shift echo %0 shift echo %0 Po wywołaniu skryptu poleceniem Skrypt.bat Ala Ola Ela wyświetli się następujący wynik: Skrypt.bat Ala II. Programowanie wsadowe DOS/Windows 4

Ola 7. Instrukcja warunkowa if W programach wsadowych moŝna uŝywać instrukcji warunkowej if, której ogólna zasada sprowadza się do sprawdzenia określonego warunku logicznego i przy jego spełnieniu wykonania dowolnej instrukcji. if [not] errorlevel numer instrukcja (Nawiasy [] oznaczają część opcjonalną.) Ta postać instrukcji if wykona instrukcję instrukcja jeŝeli kod wyjściowy z poprzedniego programu (errorlevel) [nie] jest mniejszy niŝ numer. copy nie_ma_tego_pliku.txt plik2.txt if errorlevel 1 echo Nie udało się skopiować if [not] ciąg1==ciąg2 instrukcja Wykonanie instrukcji instrukcja, jeŝeli ciąg znaków ciąg1 [nie] jest równy ciągowi ciąg2. Aby ustrzec się przed błędami najlepiej jest porównywać ciągi znaków wzięte w cudzysłów. UmoŜliwi to porównywanie pustego ciągu znaków (dwa cudzysłowy obok siebie) oraz ciągów znaków ze spacjami. JeŜeli jeden z ciągów znaków jest parametrem wejściowym, to moŝe (ale nie musi) być wzięty w cudzysłów, wówczas ciąg znaków będzie w "podwójnym cudzysłowie". Aby się przed tym ustrzec, naleŝy odwoływać się do parametru poprzez %~1 (znak tylda ~) więcej na ten temat w dalszej części instrukcji. if "%~1"=="kopiuj" goto FCOPY if "%~1"=="przesun" goto FMOVE goto EXIT :FCOPY copy KAT1 KAT2 goto EXIT :FMOVE move KAT1 KAT2 :EXIT if [not] exist nazwa_pliku instrukcja Wykonanie instrukcji instrukcja jeŝeli [nie] istnieje plik: nazwa_pliku. Ćwiczenia do wykonania 1. W katalogu, w którym utworzyłeś skrypt a.bat, utwórz skrypt o nazwie b.bat 2. Skrypt musi być wywoływany z jednym parametrem. JeŜeli uruchomiono skrypt bez podania parametru, wówczas skrypt ma wyświetlić ostrzeŝenie i zakończyć działanie. II. Programowanie wsadowe DOS/Windows 5

3. W zaleŝności od wartości tego argumentu skrypt ma wykonać następujące działania: dla a wypisać na ekranie zawartość bieŝącego katalogu dla b otworzyć w domyślnej przeglądarce stronę wydziału elektrycznego dla c zapisać do pliku o nazwie 000.txt</I> bieŝącą datę i godzinę 4. W przypadku, gdy argument nie jest równy Ŝadnemu z powyŝszych, skrypt ma wyświetlić odpowiedni komunikat o błędzie i po naciśnięciu dowolnego klawisza skrypt ma zakończyć działanie. 8. Instrukcja for FOR [opcja] [%% %]x IN (zbiór) DO polecenie Instrukcja for powtarza komendę dla kaŝdej pozycji w zadanym zbiorze, przypisując danej zmiennej x kolejne wartości z tego zbioru. W ten sposób umoŝliwia ona np. uruchomienie określonego polecenia dla kaŝdego pliku znajdującego się w zbiorze. Zmienna x (moŝe to być oczywiście inna nazwa) jest zmienną sterującą. W przypadku, gdy komenda for jest wpisywana w linii poleceń, to nazwa zmiennej musi być poprzedzona jednym znakiem %. W przypadku, gdy komenda ta znajduje się w pliku wsadowym, wymagane jest poprzedzenie jej %%. FOR %I IN (C:\*.*) DO @echo %I To polecenie wyświetli listę plików (tylko plików) o dowolnej nazwie z katalogu głównego c:\. Proszę zauwaŝyć znak @ przed poleceniem echo: bez tego znaczka za kaŝdym razem pojawiałoby się wykonywane polecenie, a następnie wynik tego poleceni. Znak po prostu @ eliminuje wyświetlanie polecenia. Skrypt zawierający tę instrukcję mógłby wyglądać tak: @echo of FOR %%I IN (C:\*.*) DO echo %%I echo on W tym przypadku naleŝy zwrócić uwagę na fakt poprzedzenia zmiennej I dwoma znakami procent. Ponadto przed poleceniem echo nie ma znaku @, poniewaŝ wyświetlanie polecenia zostało wyłączone wcześniej poleceniem echo off. FOR /D %I IN (C:\*.*) DO @echo %I Przełącznik /D powoduje, Ŝe zamiast plików wyszukiwane są katalogi. FOR /R "%USERPROFILE%\Menu Start" %I IN (*.*) DO @echo %I Przełącznik /R powoduje, Ŝe wyszukiwanie plików (brak przełącznika /D) jest rozpoczynane od katalogu "%USERPROFILE%\Menu Start" i kontynuowane we wszystkich podkatalogach. Zmienna środowiskowa %USERPROFILE% określa ścieŝkę dostępu do katalogu z profilem uŝytkownika, moŝe być rozwinięta do C:\Documents and Settings\user. Dodanie \Menu Start spowodowało, Ŝe ścieŝka startowa wygląda następująco C:\Documents and Settings\user\Menu start. PoniewaŜ w nazwie katalogu Menu start jest spacja, dlatego konieczne jest wzięcie ścieŝki w cudzysłów. II. Programowanie wsadowe DOS/Windows 6

Instrukcja FOR umoŝliwia ponadto traktowanie zbioru jako zbioru liczb całkowitych (przełącznik /L) oraz przetwarzanie danych z pliku (przełącznik /F). Zainteresowanych odsyłam do pliku pomocy dla instrukcji FOR. 9. Zaawansowane odwoływanie się do parametrów wywoływania skryptu. JeŜeli parametrem wywołania skryptu %1 jest nazwa pliku, a program na tej podstawie musi określić nazwę katalogu, "czystą" nazwę pliku i oddzielnie rozszerzeniem pliku, wówczas naleŝy posłuŝyć się następującą składnią: %~1 - rozwija %I usuwając wszystkie obejmujące cudzysłowy (") - rozwija %I do pełnej nazwy ścieŝki %~f1 %~d1 %~p1 %~n1 %~x1 - rozwija %I tylko do litery dysku - rozwija %I tylko do ścieŝki - rozwija %I tylko do nazwy pliku - rozwija %I tylko do rozszerzenia pliku Charakterystyczny jest tutaj znak ~ (tylda), który usuwa cudzysłowy. if not exist "%~1" goto end echo copy %1 "%~d1%~p1%~n1.bak" :end echo on Ćwiczenia do wykonania 1. W katalogu, w którym utworzyłeś skrypt a.bat, utwórz skrypt o nazwie c.bat 2. Skrypt ma utworzyć w katalogu bieŝącym plik o nazwie wynik.log, do którego zapisze bieŝącą godzinę 3. Skrypt ma wyszukać wszystkie pliki o rozszerzeniu txt znajdujące się w katalogu bieŝącym i jego podkatalogach. 4. Dla kaŝdego znalezionego pliku skrypt ma wykonać następujące trzy rzeczy: a) wypisać nazwę pliku wraz ze ścieŝką dostępu na ekranie b) dopisać nazwę pliku wraz ze ścieŝką dostępu do utworzonego wcześniej pliku wynik.log c) skopiować plik do tego samego katalogu pod tą samą nazwę, ale z innym rozszerzeniem: bak II. Programowanie wsadowe DOS/Windows 7