A A A

Swoboda wyboru

PC Format 11/2007
Uruchamiając w komputerze programy, otrzymujesz wyniki ich działań. W zależności od uzyskanych rezultatów odpowiednio reagujesz. Za pomocą skryptów możesz zautomatyzować te zdarzenia. Wbuduj w skrypt odrobinę inteligencji.

Przykładowy skrypt – If...Then

Jako przykład zastosowania poznanych konstrukcji warunkowych proponujemy skrypt, który automatycznie wyszuka linie komentarzy w pliku wsadowym (plik z rozszerzeniem .bat), a następnie zapisze je do odrębnego pliku tekstowego. Dla przypomnienia, linie komentarzy w plikach wsadowych oznaczane są wyrażeniem REM. Skrypt wyszuka takie wyrażenie w pliku, a następnie zapisze linię do wyniku.


Uruchom program Notepad++ 4.22 i wpisz lub wczytaj z krążka plik skrypt-odc4.vbs.


Sekcja nagłówka znajdująca się w liniach od 1 do 10 to znane ci już wyrażenia Option Explicit (wymuszenie deklarowania zmiennych), dwie deklaracje stałych (wyrażenie Const) oraz deklaracje zmiennych (Dim).


Od linii 10 rozpoczyna się sekcja referencyjna, w której zadeklarowanym zmiennym przypisujesz odpowiednie wartości, a także tworzysz niezbędne obiekty. Zwróć uwagę na ścieżki do plików w liniach 11 i 12. Zmodyfikuj je odpowiednio do własnych potrzeb.


W linii 13 tworzysz obiekt systemu plików, który umożliwi otwieranie plików i wykonywanie na nich działań. Linia 14 to utworzenie obiektu odpowiadającego odczytywanemu plikowi wsadowemu, natomiast linia 15 to obiekt, za którego pomocą powstanie plik wynikowy.


W linii 16 zaczyna się sekcja robocza – główny „silnik” skryptu. Jeżeli śledziłeś poprzednie odcinki naszego kursu, z pewnością rozpoznasz konstrukcję pętli Do…While. W tym przypadku pętla będzie wykonywana tak długo, dopóki skrypt, odczytując plik wsadowy, nie dotrze do jego końca.


Linie od 19 do 21 zawierają konstrukcję If…Then. Warunkiem uaktywniającym akcję zawartą w tej konstrukcji (a jest nią zapis linii komentarza do pliku wynikowego), jest fakt odnalezienia w danej linii wyrażenia REM. W jaki sposób skrypt odnajduje tę linię? Odpowiada za to wartość zmiennej intIsREM, której przypisana jest funkcja InStr (linia 18).


Zauważ, że po zapisaniu odnalezionej linii komentarza do pliku wynikowego i wyjściu z instrukcji warunkowej skrypt wraca do pętli i działanie się powtarza – tak długo, dopóki skrypt nie dotrze do końca odczytywanego pliku.


Zwróć uwagę na zawarty w linii 20 ciąg znaków: vbCrLf. To jedna z tzw. wewnętrznych stałych języka Visual Basic Script. Nie wymaga ona deklaracji w sekcji nagłówka, jest „zrozumiała” od razu przez interpreter VBS (w Windows jest to Windows Script Host). Co oznacza? Jest odpowiednikiem znaku powrotu karetki (czyli wciśnięcia klawisza [Enter]) oraz przejścia do nowej linii (Lf oznacza Line Feed).


W zasadzie na linii 22 można poprzestać, ale wtedy, po uruchomieniu skryptu, nie wiedziałbyś, kiedy zakończył on swoją pracę. Dlatego w linii 23 za pomocą obiektu WScript i metody Echo wprowadzono polecenie wyświetlenia odpowiedniego komunikatu – ostatnie dwie linie zamykają pliki, na których skrypt pracował.


Ocena:
Oceń:
Komentarze (0)

Redakcja nie ponosi odpowiedzialności za treść komentarzy. Komentarze wyświetlane są od najnowszych.
Najnowsze aktualności


Nie zapomnij o haśle!
21 czerwca 2022
Choć mogą się wydawać mało nowoczesne, hasła to nadal nie tylko jeden z najpopularniejszych sposobów zabezpieczania swoich kont, ale także...


Artykuły z wydań

  • 2024
  • 2023
  • 2022
  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
Zawartość aktualnego numeru

aktualny numer powiększ okładkę Wybrane artykuły z PC Format 1/2022
Przejdź do innych artykułów
płyta powiększ płytę
Załóż konto
Co daje konto w serwisie pcformat.pl?

Po założeniu konta otrzymujesz możliwość oceniania materiałów, uczestnictwa w życiu forum oraz komentowania artykułów i aktualności przy użyciu indywidualnego identyfikatora.

Załóż konto