1. Podstawowe informacje o WSH



Podobne dokumenty
Systemy operacyjne laboratorium 3 Paweł Gmys strona 1

Opera Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera wersja 1.1 UNIZETO TECHNOLOGIES SA

Host skryptów systemu Windows (WSH, Windows Scripting Host)

Dostp do zasobów dyskowych uytkowników lcme10 przez protokół SMB (Microsoft Networking)

Trochę o plikach wsadowych (Windows)

Uywanie licencji typu Standalone. Japanese Using a Standalone License. Language. Contents

Instrukcja obsługi programu Pilot PS 5rc

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Języki skryptowe w programie Plans

3. Instalator rozpocznie proces instalacji

Programowanie w języku Python. Grażyna Koba

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Funkcje i instrukcje języka JavaScript

Klonowanie MAC adresu oraz TTL

Uywanie licencji typu On-Demand. Using an On-Demand License Japanese. Language. Contents

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

Twoja instrukcja użytkownika HP PAVILION DV6-1215SA

Mozilla Firefox PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox PL. wersja 1.1

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

LABORATORIUM INFORMATYKI 0

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

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

PAMIĘĆ OPERACYJNA...107

Instalacja programu Sprzeda z motorem. bazy danych Pervasive V8

Instalacja programu Sprzeda

Zadania do wykonaj przed przyst!pieniem do pracy:

Programowanie obiektowe

Program do konwersji obrazu na cig zero-jedynkowy

Pliki. Operacje na plikach w Pascalu

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

Podstawy JavaScript ćwiczenia

EC4P Pierwszy program w 6 krokach

Temat: Kopiowanie katalogów (folderów) i plików pomiędzy oknami

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

Przyk adowa konfiguracja zwielokrotnianienia po czenia za pomoc Link Aggregation Control Protocol

Instrukcja obsługi dodatku InsERT GT Smart Documents

Instrukcja obsługi notowań koszykowych w M@klerPlus

4CMSystem. Podrcznik uytkownika. Strona projektu: Realizacja projektu:

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego

Instrukcja Obsugi Programu

1 Przygotował: mgr inż. Maciej Lasota

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

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

5.2. Pierwsze kroki z bazami danych

Windows Commander (WinCmd)

Mozilla Thunderbird PL

Kancelaria instalacja programu

Zestaw üwicze z przegldark Internet Explorer. Przegld wybranych funkcji programu

Lekcja 12 - POMOCNICY

Obrazek 1: Interfejs DT. DT Help File v1.3

Techniki zaznaczania plików i folderów

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!

O środowisku Windows. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Lekcja 9 Liczby losowe, zmienne, staªe

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Java Code Signing Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.1 UNIZETO TECHNOLOGIES SA

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Podstawy Programowania 2

Twoja instrukcja użytkownika PHILIPS JR32RWDVK

Programowanie i struktury danych

Laboratorium Systemów SCADA

ZPKSoft. Kreator dokumentów. Wstp. Przeznaczenie. Definicje

Pracownia internetowa w ka dej szkole (edycja 2004)

CYKL ZAJ POZNAJEMY POWER POINT

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Przed instalacj naley sprawdzi wersj posiadanych sterowników urzdzenia. Powinna by nie starsza ni:

Podstawy WINDOWS 9x, 2000, XP

Program SMS4 Monitor

Instalacja Altium Designer Powizane wideo Altium Designer - Installation and Management

Użycie Visual Basic for Applications ("VBA")

Ustawienia personalne

Grzegorz Cygan. Zarządzanie prawami plików i folderów w systemie operacyjnym Windows z systemem plików NTFS

trainxx tramxx

SYSTEM OPERACYJNY. Monika Słomian

Memeo Instant Backup Podręcznik Szybkiego Startu

Pracownia internetowa w szkole ZASTOSOWANIA

Rozdział 5: Style tekstu

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

Bash i algorytmy. Elwira Wachowicz. 20 lutego

O środowisku Windows. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Laboratorium 1 - Programowanie proceduralne i obiektowe

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Microsoft Authenticode. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii MS Authenticode. wersja 1.1 UNIZETO TECHNOLOGIES SA

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

Cw.12 JAVAScript w dokumentach HTML

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


Instrukcja obsługi systemu przywoławczego pomidzy kabin LF a laboratorium analiz chemicznych

Wprowadzenie do kompilatorów

Zadanie 5. Automatyzacja tworzenia kont użytkowników

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

Transkrypt:

1. Podstawowe informacje o WSH 1 Do pisania skryptów nie jest potrzebny aden specjalizowany edytor. Mona wykorzysta dowolny edytor tekstowy /np. Notatnik/ a nastpnie zapisywa pliki z odpowiednim rozszerzeniem /dla VBasicScript - *.vbs, dla JScript - *.js/. Oczywicie nic nie stoi na przeszkodzie aby korzysta ze specjalizowanych edytorów skryptowych, np. PrimalScript i podobne, które koloruj fragmenty kodu, wpisuj słowa kluczowe, analizuj składni jzyka skryptowego. Kady host pracujcy w standardzie Active Scripting musi udostpnia pewne moliwoci funkcjonalne, z których bd korzysta skrypty. Moliwoci te okrelane s jako "model obiektowy hosta". Model obiektowy Windows Scripting Host udostpnia szereg obiektów, z których mona korzysta w celu uzyskania dostpu do rónych komponentów powłoki Windows. Jdrem modelu obiektowego Windows Scripting Hosta jest obiekt o nazwie WScript. Obiekt WScript zawsze istnieje i jest dostpny przynajmniej jeden egzemplarz tego obiektu i zawsze nazywa si WScript. Obiekt WScript słuy do uzyskania informacji odnonie aktualnie wykonywanego skryptu oraz o samym Windows Scripting Hocie. Obiekt ten tworzy wszystkie inne obiekty uywane przez skrypt WSH. Do tworzenia nowych obiektów uywa si metody CreateObject. Metoda ta nie słuy tylko do tworzenia obiektów Windows Scripting Host. Moe słuy równie do tworzenia obiektów Automatyzacji OLE. Oznacza to, e za pomoc WSH mona napisa skrypt dla kadej aplikacji, która potrafi obsłuy Automatyzacj OLE. Bezporednio w modelu obiektowym WSH mona utworzy tylko dwa obiekty: WshShell oraz WshNetwork. Wszystko poza tym uzyskuje si poprzez wywołanie metod w tych obiektach. WshShell potrafi wykona wiele zada zwizanych z obsług powłoki Windows, min.: pobiera informacje o komputerze, typie procesora, liczbie procesorów, numerach wersji systemu opreacyjnego, zwraca cieki do specjalnych folderów, modyfikuje rejestr systemowy, wywietla okna dialogowe /metoda WshShell.Popup/. Obiekt WshNetwork wykorzystywany jest w przypadku korzystania z dysków sieciowych /metoda EnumNetworkDrives/ oraz drukarek sieciowych /metoda EnumPrintersConnection/. Kada z tych metod zwraca obiekt WshCollection. Obiekty i metody Obiekty, metody i właciwoci wykorzystywane w Windows Scripting Host Obiekt Metody Włciwoci WScript CreateObject, ConnectObjekt, DisconnectObject, Echo, GetObject, Sleep, Quit Aplications, Arguments, FullName, Name, Path, ScriptFullName, ScriptName, StdErr, Stdin, StdOut, Version WshEnvirnoment Remove Item, Count, Lenght WshArguments - Item, Count, Lenght WshNetwork WshShell WshShortcut AddPrinterConnection, AddWindowsPrinterConnection, EnumNetworkDrives, EnumPrintersConnection, MapNetworkDrive, RemovePrinterConnection, SetDafaultPrinter AppActivate, CreateShortcut, ExpandEnvirnomentStrings, LogEvent, Popup, RegRead, RegDelete, RegWrite, Run, SendKeys Save ComputerName, UserName, UserDomain SpecialFolders, Envirnoment Arguments, Description, FullName, HotKay, IconLocation, TargePath, WindowStyle, WorkingDirectory WshSpecialFolders - Item, Count, Lenght WshUrlShortcut Save FullName, TargetPath

2. Windows Host Script - wiczenia 2 WSH udostpnia dwa tryby uruchamiania skryptów: tekstowy i graficzny. O sposobie przetwarzania programu moe zadecydowa powłoka systemowa. Skrypt utworzony w jzyku JScript (a dokładniej - w jego odmianie autorstwa Microsoftu) powinien zosta zapisany w pliku z rozszerzeniem JS. Spróbujmy zatem utworzy najprostszy moliwy program, wypisujcy co na ekranie komputera. Wystarczy do tego jeden wiersz programu: Przykład 1. WScript.Echo('Witaj! Jest ' + Date()); Po zapisaniu skryptu (np. w pliku skrypt1.js) spróbujmy go uruchomi poprzez dwukrotne kliknicie ikony tego pliku lewym przyciskiem mysz. Zapis WScript.Echo() oznacza odwołanie si do metody Echo() obiektu WScript, który jest jednym z najwaniejszych elementów modelu obiektowego WSH. Metoda Echo() wywietla na ekranie podany w formie parametru tekst. Przy okazji nauczylimy si uywa funkcji Date(), zwracajcej aktualn dat systemow. Jednym z bardziej przydatnych zastosowa skryptów systemowych (w dowolnym systemie operacyjnym) jest automatyzacja czsto wykonywanych lub skomplikowanych operacji plikowych. Przykładami mog by chociaby usuwanie starych plików tymczasowych, tworzenie kopii zapasowych czy kontrolowanie iloci wolnego miejsca na dysku. Spróbujmy przyjrze si mechanizmom obsługi systemu plików przez WSH. Zacznijmy od najprostszych czynnoci - np. sprawdzenia miejsca zajmowanego przez katalog: Przykład 2. var fso; var katalog = fso.getfolder ('c:\\winnt'); WScript.Echo('Rozmiar folderu wynosi: ' + katalog.size + ' bajty(ów)'); Drugi wiersz skryptu powoduje utworzenie obiektu typu Scripting.FileSystemObject i przypisanie zmiennej fso wskanika do niego. Wspomniany obiekt oferuje metody pozwalajce na praktycznie dowolne operacje dyskowe - takie jak tworzenie, usuwanie czy kopiowanie plików i katalogów, operacje na ich atrybutach itd. Zanim jednak zrobimy cokolwiek z plikiem/folderem, trzeba uzyska wskanik do obiektu typu File lub Folder - dopiero te obiekty udostpniaj interesujce nas funkcje. Robimy to w kolejnym wierszu skryptu (var katalog = fso.getfolder('c:\\winnt')). Podwójny ukonik "\\" jest w rzeczywistoci interpretowany jako pojedynczy ("\" to w JScripcie znak specjalny, po którego wystpieniu parser oczekuje kolejnego znaku). Zamiast katalogu C:\Winnt naley w razie potrzeby poda prawidłowy folder systemowy. Ostatnie polecenie powoduje wywietlenie na ekranie tekstu, którego czci jest warto zwracana przez metod Size() obiektu katalog, czyli całkowity rozmiar folderu (wraz z zawartoci). Znaki "+" to w JavaScripcie operator łczenia (konkatenacji) łacuchów tekstowych. Jak wczeniej wspomniano, obiekt Scripting.FileSystemObject zapewnia rónorodne operacje plikowe, m.in. z uyciem atrybutów plików/folderów. Moemy np. z łatwoci utworzy skrypt, wywietlajcy list plików w zadanym katalogu, które spełniaj okrelony warunek. Warunkiem moe by np. wskazana data utworzenia. Poniszy skrypt wywietla pliki w katalogu c:\temp, które charakteryzuj si dat modyfikacji póniejsz ni 1 maja 2002 roku: Przykład 3. var fso, pliki, data, buf = ''; var katalog = fso.getfolder('c:\\temp'); pliki = new Enumerator(katalog.files); data = new Date(2002, 5, 1); for (;!pliki.atend(); pliki.movenext()) if (pliki.item().datelastmodified > data) buf += pliki.item().name + ', ' + pliki.item().size + ' bajty(ów) \n'; WScript.Echo('Pliki o dacie póniejszej ni ' + data.getdate() + '/' + data.getmonth() + '/'+ data.getyear() + ':\n\n' + buf);

3 Obiekt Scripting.FileSystemObject i jego metoda GetFolder() s nam ju znane. Wiersz pliki = new Enumerator(katalog.files) powoduje utworzenie kolekcji obiektów reprezentujcych pliki, zwróconych przez metod files obiektu katalog (typu Folder). Zmienna data bdzie zawierała warto odpowiadajc 1 maja 2002. W ptli for, powtarzanej a do napotkania ostatniego elementu kolekcji pliki (sygnalizowanego zwróceniem wartoci true przez metod pliki.atend(), wyszukiwane s obiekty spełniajce odpowiedni warunek. Jest nim wyraenie pliki.item().datelastmodified > data, którego wartoci jest true, jeeli data ostatniej modyfikacji aktualnego pliku jest póniejsza ni ta, któr reprezentuje zawarto zmiennej data. Jeli tak jest, do zmiennej łacuchowej buf dodawany jest wiersz zawierajcy nazw i rozmiar znalezionego pliku. Po wykonaniu kadego kroku przesuwany jest wskanik aktualnej pozycji listy plików (pliki.movenext()). Ostatni czynnoci wykonywan przez nasz skrypt jest wywietlenie listy znalezionych we wskazanym katalogu plików, spełniajcych podany warunek. Dzieje si to dziki metodzie WScript.Echo(). Metody getdate(), getmonth() i getyear() obiektu data zwracaj odpowiednio dzie miesica, miesic i rok odpowiadajce dacie przechowywanej w tej zmiennej (gdybymy skorzystali bezporednio z wartoci zmienej data, otrzymalibymy dat w domylnym formacie stosowanym przez WSH). Modyfikujc nieco nasz skrypt, moemy np. uzyska program usuwajcy pliki o rozszerzeniu TMP z podanego folderu: Przykład 4. var fso, pliki, data, nazwa, buf = ''; fso = new ActiveXObject ('Scripting.FileSystemObject'); var katalog = fso.getfolder('c:\\temp'); pliki = new Enumerator (katalog.files); for (;!pliki.atend();pliki.movenext()) nazwa = fso.getextensionname (pliki.item().name); if (nazwa.touppercase() == 'TMP') fso.deletefile(pliki.item()); Wyjanie mog wymaga jedynie metoda GetExtensionName(), zwracajca rozszerzenie podanego pliku, oraz touppercase(), konwertujca małe litery na wielkie w podanym napisie. Współpraca z aplikacjami Ciekaw opcj WSH jest moliwo współpracy z aplikacjami Microsoftu, takimi jak Internet Explorer czy programy wchodzce w skład MS Office'a. Model obiektowy WSH udostpnia odpowiednie klasy, których metody pozwalaj na sterowanie prac aplikacji. W przypadku IE jest to obiekt Internet-Explorer, dla Worda utworzono obiekt Word.Application, dla Accessa - Access.Application. Aby np. wywietli okno IE z otwart stron WSInf, wystarczy utworzy prosty skrypt: Przykład 5. var misio = new ActiveXObject('InternetExplorer.Application'); misio.navigate('http://www.wsinf.edu.pl'); misio.visible = true; Moemy równie "pisa" w pustym oknie przegldarki - słuy do tego celu metoda write() obiektu InternetExlorer.Application.document: Przykład 6. var misio = new ActiveXObject('InternetExplorer.Application'); misio.navigate('about:blank'); misio.toolbar = true; misio.statusbar = true; misio.resizable = false; while (misio.busy) misio.width = 400; misio.height = 300; misio.left = 30;

misio.top = 20; ; misio.document.write(''); misio.document.write('przykładowy tekst wyswietlony w oknie przegldarki'); misio.document.write(''); misio.visible = true; 4 Najpierw musimy otworzy puste okno przegldarki (misio.navigate('about: blank')). Kolejny krok to wybór danych parametrów okna IE (wywietlane paski, moliwo zmiany rozmiaru okna itp.). Teraz czas na ustalenie rozmiarów okienka (ptla while...) - zanim to jednak zrobimy, musimy odczeka, a aplikacja zostanie załadowana do pamici. Przy okazji wykluczymy sytuacj, kiedy program próbuje wywietli co w oknie przegldarki, zanim system utworzy odpowiednie obiekty. Gdy przegldarka jest gotowa do pracy, moemy skorzysta ze wspomnianej metody write(). Niestety, musimy poda przegldarce pełny kod HTML strony (na szczcie nie jest to trudne). Ostatni krok to właciwe wywietlenie okna na ekranie (nadanie jego atrybutowi Visible wartoci true). Przydatne drobiazgi Wród wielu moliwoci WSH znajduj si i takie, które trudno zakwalifikowa do wymienionych kategorii. Naley do nich np. stosowanie argumentów wywołania skryptu, co moe si przyda prawie w kadym uywanym na co dzie programie. Przeledmy działanie prostego skryptu, spełniajcego zadania podobne do wykonywanych przez DOS-owe polecenie copy: Przykład 7. var fso, argumenty = WScript.Arguments; if (argumenty.count() == 2) if (fso.fileexists(argumenty. item(0))) fso.copyfile(argumenty.item(0), argumenty.item(1), false) else WScript.Echo('Plik do skopiowania nie istnieje'); else WScript.Echo('Nieprawidłowa liczba argumentów!'); Z naszego punktu widzenia wany jest pierwszy wiersz skryptu, a dokładniej przypisanie zmiennej argumenty listy parametrów wywołania programu (argumenty = WScript.Arguments). Do parametrów odwołujemy si póniej za pomoc metody item() (pierwszy parametr to argumenty.item(0), pity - argumenty.item(4) itd.). Warto równie wspomnie o zastosowaniach obiektu Shell. Pozwala on na korzystanie z elementów interfejsu uytkownika Windows. Moemy np. z łatwoci otworzy dowolny katalog w Eksploratorze czy wywietli na ekranie okienko apletu z Panelu sterowania: Przykład 8. var szel, folder, plik; szel = new ActiveXObject('Shell.Application'); szel.explore('c:\\temp'); szel.controlpanelitem('desk.cpl');

5 ZADANIA WSH: 1. Utwórz skrypty zamieszczone jako przykłady w tekcie powyej. 2. Napisa skrypt, który wywietli rozmiary 3 dowolnych katalogów. 3. Napisa skrypt, który wywietli pliki z dwóch dowolnych katalogów, których data modyfikacji jest z biecego roku. 4. Napisa skrypt, który skopiuje wszystkie pliki z jednego katalogu do drugiego. 5. Napisa skrypt, który usunie pliki z odpowiednim rozszerzeniem z katalogu oraz rozszerzeniu podanym jako argument. Nastpnie otworzy ten katalog w Exploratorze.