Tryby i trybiki

Windows Script Host, bo tak brzmi rozwinięcie użytego wcześniej skrótu, jest środowiskiem pozwalającym na uruchamianie skryptów administracyjnych. Mechanizm ten pojawił się po raz pierwszy w systemie Windows 98. Obecnie jest dostępny w Oknach z serii 98/Me oraz 2000/XP (można pobrać wersję dla Windows 95). Standardowo umożliwia on tworzenie skryptów w językach VBScript lub JScript. Dosyć szybko pojawiły się jednak biblioteki do języków Perl i Python (ulubionych narzędzi administratorów uniksowych), pozwalające na wykorzystanie ich do współpracy z WSH.

Omawiane środowisko oferuje dosyć rozbudowane API systemowe, którego strukturę przedstawia ilustracja na sąsiedniej stronie artykułu. Ponadto możliwe jest, rzecz jasna, uruchamianie zainstalowanych w systemie programów. WSH pozwala też na korzystanie z obiektów COM (głównie kontrolek ActiveX). Wszystko to sprawia, że Okna Microsoftu oferują stosunkowo wydajne – choć niepozbawione wad – środowisko skryptowe. Wspomniane wady to m.in. nie do końca jednolity model obiektowy udostępniany przez WSH czy problematyczne bezpieczeństwo systemu, w którym działa ten mechanizm.

Czego by jednak nie mówić o Windows Script Host, trzeba przyznać, że środowisko to znacznie ułatwia życie administratorom Okien. Codzienne, monotonne zadania, takie jak “odśmiecanie” dysku, automatyzacja logowania użytkowników, wykonywanie kopii bezpieczeństwa czy proste czynności diagnostyczne – wszystko to może załatwić kilka nieskomplikowanych skryptów. Osobom znającym dobrze np. Linuksa będzie zapewne w WSH brakowało elastyczności i różnorodności skryptów uniksowych. Zamiast narzekać, warto się jednak skupić na zaletach oferowanego przez Microsoft rozwiązania.

Zanim zaczniesz kodować

Przed rozpoczęciem korzystania z WSH warto uaktualnić środowisko do najnowszej wersji (w momencie powstawania artykułu była to edycja 5.6). Potrzebne pliki pobierzemy ze strony wymienionej w ramce “Info” lub skopiujemy z płyty CD dołączonej do CHIP-a. Warto się przy okazji zaopatrzyć w dokumentację (niestety, tylko w formacie WinHelp) zawierającą opisy języków JScript i VBScript oraz samego WSH, łącznie z modelem obiektowym środowiska.

Wszystkie przykładowe skrypty zamieszczone w niniejszym artykule napisano w języku JScript. Powodów jest kilka. Przede wszystkim JScript jest popularniejszy od VBScriptu – znają go m.in. wszyscy webmasterzy. Ponadto JScript pochodzi od języka Java, który jest obiektowym językiem programowania w pełnym tego słowa znaczeniu. Jeśli więc nie znamy ani VBScriptu, ani JScriptu, szczerze polecam nauczenie się tego drugiego. Nawet średnio doświadczonemu programiście “przestawienie się” na JScript z dowolnego innego języka nie powinno natomiast sprawić żadnego problemu. Przy okazji: niniejszy tekst zakłada wprawdzie podstawową znajomość JScriptu, nic nie stoi jednak na przeszkodzie, aby równolegle z nauką WSH przeglądać dokumentację JScriptu.

Do pisania skryptów przyda się solidny edytor. Systemowy Notatnik niezbyt dobrze się do tego celu nadaje, głównie ze względu na brak podświetlania składni. Od biedy można użyć jakiegoś edytora HTML-a, jednak na dłuższą metę niezastąpiony będzie porządny edytor programisty (taki jak popularny, shareware’owy EditPlus).

Pierwsze kroki

WSH udostępnia dwa tryby uruchamiania skryptów: tekstowy i graficzny. O sposobie przetwarzania programu może zadecydować powłoka systemowa – kiedy np. dwukrotnie klikniemy ikonę skryptu w Eksploratorze – albo użytkownik, wywołując odpowiedni interpreter: CSCRIPT.EXE (tryb tekstowy) lub WSCRIPT.EXE (tryb graficzny).

Skrypt utworzony w języku JScript (a dokładniej – w jego odmianie autorstwa Microsoftu) powinien zostać zapisany w pliku z rozszerzeniem JS. Spróbujmy zatem utworzyć najprostszy możliwy program, wypisujący coś na ekranie komputera. Wystarczy do tego jeden wiersz programu:

WScript.Echo('Witaj! Jest ' + 
   Date());

Po zapisaniu skryptu (np. w pliku skrypt1.js) spróbujmy go uruchomić. Otwieramy okno poleceń DOS-u, przechodzimy do katalogu z programem i używamy polecenia:

cscript skrypt1.js

Powinniśmy zobaczyć w oknie wiersza poleceń napis typu: Witaj, jest Wed May 29 14:52:26 2002. Jak łatwo się domyślić, użycie polecenia wscript skrypt1.js zaowocuje wyświetlenie podobnego tekstu w okienku dialogowym.

Zapis WScript.Echo() oznacza odwołanie się do metody Echo() obiektu WScript, który jest jednym z najważniejszych elementów modelu obiektowego WSH. Metoda Echo() wyświetla na ekranie podany w formie parametru tekst. Przy okazji nauczyliśmy się używać funkcji Date(), zwracającej aktualną datę systemową.

Więcej:bezcatnews