Menu kategorii
  • Automatyzacja systemu Windows XP

    Automatyzacja systemu Windows XP

     Marcin Młynarczyk
    Marcin Młynarczyk
    00:00
    28.09.2007
    34839 wyświetleń
    Przy częstym korzystaniu z komputera, wykonujemy przeważnie ciągle te same czynności, mamy tutaj na myśli administrację, wykonywanie kopii zapasowych lub usuwanie niepotrzebnych plików. System Windows XP oferuje nam trzy sposoby automatyzacji, które mogą wyręczyć użytkownika z tych zadań:
    • Pierwszym z nich jest narzędzie Zaplanowanie zadania, czyli najbardziej przyjazny sposób, polegający na uruchamianiu programów według określonego wcześniej harmonogramu lub przy wybranych zdarzeniach, na przykład przy logowaniu.
    • Kolejnym sposobem są Programy wsadowe, znane już z systemu MS-DOS, które oferują sposób uruchamiania programów oraz poleceń. Uruchamiamy je z wiersza poleceń, a to znaczy, że możemy otworzyć je także poprzez program wsadowy.
    • Ostatnią opcją, którą dokładnie opiszemy jest Host skryptów systemu Windows (WSH), polegający na uruchamianiu skryptów, które są napisane w VBScript (Visual Basic Script), JScript (Java Script) oraz innych językach skryptowych.

    Host skryptów

    Host skryptów jest, można powiedzieć, gospodarzem dla języków skryptowych. Dzięki niemu możemy wykonywać skomplikowane zadania oraz kontrolować elementy systemu. Skrypty korzystają z technologii ActiveX, która pozwala na sterowanie systemem oraz komputerem.

    Plik skryptu ma rozszerzenie .vbs i uruchamiamy go, wpisując jego nazwę w wierszu polecenia lub dwukrotnie kliknąć na jego ikonę w Eksploratorze Windows. Chcąc stworzyć swój skrypt, otwieramy Notatnik a w nim wpisujemy na przykład WScript.Echo ” http://www.centrumxp.pl, następnie zapisujemy go jako plik z rozszerzeniem .vbs. Stworzyliśmy właśnie skrypt, aby zobaczyć jak działa dwukrotnie na niego klikamy. Wyświetli nam się nowe okno Host skryptów systemu Windows, a w nim tekst, który umieściliśmy w cudzysłowie.

    Język

    Nie ma znaczenia, z jakiego języka będziemy korzystali w Hoście skryptów. Przyjrzyjmy się jednak odmianie języka Microsoft Visual Basic jakim jest VBScript. Różnica między językiem Visual Basic a VBScript jest taka, że ta druga ma tylko zmienne wariantowe. Musimy użyć funkcji Dim i nazwy zmiennej, ponieważ wszystkie zmienne są takie same i nie możemy podać jej typu. Przykładowy skrypt Special.vbs z użyciem tego języka wygląda tak:

    Option Explicit

    Dim objWSShell

    Dim strMsg

    Dim intCtr

    Set objWSShell = WScript.CreateObject("WScript.Shell")

    WScript.Echo "Początkowa lokalizacja pulpitu :" & objWSShell.SpecialFolders("Desktop") _& vbNewLine

    strMsg = "Wszystkie Twoje specjalne foldery znajdują się w:” & vbNewLine

    For intCtr = 0 To objWSShell.SpecialFolders.Count - 1

    strMsg = strMsg & objWSShell.SpecialFolders.Item(intCtr) & vbNewLine

    Next 

    WScript.Echo strMsg

    Początek skryptu zawiera instrukcję Option Explicit, która nakazuje użycia instrukcji Dim dla każdej zmiennej. Instrukcja Set tworzy obiekt WScript Shell, uzyskując tym samym dostęp do folderów specjalnych, dzięki obiektowi SpecialFolders. Uzyskamy wówczas informację:

    W kolejnej części kodu widzimy pętle For…Next, która wyświetla foldery specjalne. Zamiast kolejny raz wstawiać instrukcję WScript.Echo w pętli, wstawiliśmy wynik do ciągu strMsg i wyświetliliśmy go po zakończeniu pętli. Rezultat tego będzie taki, że zostanie wyświetlone tylko jedno okno dla całej pętli.

    Znaczniki

    Gdy używamy skryptów WSH powinniśmy wiedzieć, że mamy możliwość użycia programów w języku VBScript w plikach .vbs oraz pisanych w języku JScript z rozszerzeniem .js. Pliki.wsf są plikami języka XML (Extensible Markup Language), i używa się w nich znaczników. Przykładem może tutaj być plik centrumxp.wsf:

    <?XML version="1.0"?>
    <package>
    <job id="job1">
    <?job debug="true"?>
    <script language="VBScript" src="MyScript.vbs"/>
    <script language="VBScript">
    <![CDATA[
    WScript.Echo "Hello World"
    ]]>
    </script>
    </job>
    </package>

    Poniższa tabela przedstawia opisy użytych znaczników:

    <?XML version="1.0"?>  Oznacza, że kod jest zgodny z XML 1.0
    <package>  Umieszcza kilka zdań w jednym pliku
    <job id="job1">  Rozpoznaje ilość zadań w pliku
    <?job debug="true"?>  Zezwolenie na użycie debugera skryptów
    <script language="VBScript" src="MyScript.vbs"/>  Łączy inne pliki z bieżącym
    <script language="VBScript">  Otwiera oraz zamyka skrypt
    <![CDATA[]]>  Parser traktuje kod jako znak i go nie interpretuje
    <object>  Definiuje obiekty zawarte w skrypcie
    <reference>  Odwołanie do zewnętrznej biblioteki, pozwala na użycie zdefiniowanych stałych
    <resource>  Izoluje tekst i dane, które nie mogą być zakodowane w skrypcie

    Debugowanie

    Jeśli chcemy debugować skrypty, musimy najpierw zainstalować program Microsoft Script Debuger. Gdy chcemy zdebugować plik, musimy wcześniej do kodu dodać jedną linijkę

    <?job debug=”true”?>

    Debugera włączamy używając przełączników poleceń Cscript oraz Wscript. Mamy dwa przełączniki

    //X - uruchamia on debuger, ładuje skrypt i zatrzymuje go przy pierwszej linii skryptu

    //D - uruchamia debuger tylko wtedy, gdy w którejś linii napotka na błąd.

    Stwórzmy skrypt z błędem o nazwie powitanie.vbs:

    main()

    Function main()

    x = 99

    WScript.echo "Witaj drogi czytelniku"

    WScript.echoo "Błąd"

    WScript.echo "Cześć"

    End Function

    Następnie w wierszu poleceń wpisujemy:

    Wscript //d powitanie.vbs

    Zdanie ”Witaj drogi czytelniku” pojawi się w oknie dialogowym, a gdy naciśniemy przycisk OK, pojawi się okno Microsoft Script Debugger , a w nim zaznaczony błąd. Co prawda debuger znajduje usterkę, ale nie daje możliwości jej naprawy. Debuger posiada trzy dodatkowe okna dostępne w menu View lub z paska narzędzi:
    • Running Documents – okno to pokazuje jakie obecnie skrypty są uruchomione
    • Call Stack – okno w którym wyświetla się historia wywołań do bieżącego punktu skryptu
    • Command Window ­– dzięki temu okienku mamy możliwość przeglądać oraz zmieniać zmienne w skrypcie. Jednak musimy pamiętać, żeby używać w nim takiego samego języka, co uruchomiony skrypt.

    Pasek narzędzi

    Pasek narzędzi oferuje możliwość krokowego przejścia skryptu. Debuger wykonuje kolejne linijki skryptu, do momentu aż trafi na błąd. Jeśli mamy pewność, że w linijce nie ma błędu, oznaczamy go, aby wiedzieć, od którego miejsca zacząć dalsze sprawdzanie. Przycisk Run szybko przejdzie do tego punktu. Pasek oferuje jedenaście przycisków:

    Run  Uruchamia skrypt
    Stop Debugging  Wykonuje skrypt poza debugerem
    Break At Next Statement  Otwiera aktywny skrypt serwera w debugerze
    Step Into  Przechodzi do kolejnej instrukcji
    Step Over  Przechodzi do kolejnej instrukcji ale nie wchodzi w funkcje oraz  instrukcje
    Step Out  Przechodzi dalej, aż do końca funkcji
    Toogle Breakpoint  Ustawia lub usuwa punkt wstrzymania
    Clear All Breakpoints  Usuwa wszystkie punkty wstrzymania
    Running Documents  Wyświetla okno Running Documents
    Call Stack  Wyświetla okno Call Stack
    Command Window  Wyświetla okno Command Window

    Obiekty

    Obiekt jest zmienną stałą która składa się nie tylko z procedur ale także z danych. Poznaliśmy go już wcześniej, podglądając skrypt Special.vbs, gdzie użyty był WScript.Shell, który pozwala na dostęp do powłoki Windows.VBScipt zawiera czternaście obiektów, a dokładniej:
    Class  Gwarantuje dostęp do zdarzeń klasy
    Dictionary  Przetrzymuje dane w formacie klucz/element
    Drive  Zapewnia dostęp do właściwości dysku
    Drives  Zbiór obiektów Drive
    Err  Gwarantuje informacje o błędach
    File  Właściwość pliku
    Files  Zbiór obiektów File
     FileSystemObject    Zapewnia dostęp do systemu plików komputera
    Folder  Właściwości folderu
    Folders  Kolekcja obiektów Folder
    Match  Przetwarzanie regularnych wyrażeń
    Matches  Kolekcja obiektów Match
    RegExp  Obsługa regularnych wyrażeń
    TextStream  Sekwencyjny dostęp do pliku

    Dzięki Automatyzacji systemu Windows XP możemy ustawić dla każdego programu harmonogram, według którego będzie działać aplikacja w systemie. Dodatkowo, przy pomocy Hostu skryptu systemu Windows możemy otwierać skrypty, które sami wcześniej utworzyliśmy.


    Spodobał Ci się ten artykuł? Podziel się z innymi!

    Źródło:

    Polecamy również w kategorii Automatyzacja systemu