VBScript - VBScript

VBScript
Format pliku VBSccript icon.png
Deweloper Microsoft
Po raz pierwszy pojawiły się 1996 ; 25 lat temu ( 1996 )
Wersja stabilna
5,8
OS Okna
Rozszerzenia nazw plików .vbs , .vbe , .wsf , .wsc ( .asp , .hta , .htm , .html )
Strona internetowa dokumenty .microsoft .com /en-us /previous-versions /t0aew7h6(v=vs .85)
Główne wdrożenia
Host skryptów systemu Windows , strony Active Server
Wpływem
Visual Basic
Pod wpływem
Windows PowerShell

VBScript ( Microsoft Visual Basic Scripting Edition” ) to język aktywnych skryptów opracowany przez firmę Microsoft, który jest wzorowany na języku Visual Basic . Umożliwia administratorom systemu Microsoft Windows generowanie potężnych narzędzi do zarządzania komputerami z obsługą błędów , podprogramami i innymi zaawansowanymi konstrukcjami programistycznymi. Może dać użytkownikowi pełną kontrolę nad wieloma aspektami jego środowiska komputerowego.

VBScript używa Component Object Model, aby uzyskać dostęp do elementów środowiska, w którym jest uruchomiony; na przykład FileSystemObject (FSO) służy do tworzenia, odczytywania, aktualizowania i usuwania plików . VBScript jest domyślnie instalowany w każdym wydaniu desktopowym Microsoft Windows od Windows 98 ; w Windows Server od Windows NT 4.0 Option Pack ; oraz opcjonalnie z Windows CE (w zależności od urządzenia, na którym jest zainstalowany).

Skrypt VBScript musi być wykonywany w środowisku hosta , z których kilka jest dostarczanych z systemem Microsoft Windows, w tym: Host skryptów systemu Windows (WSH), Internet Explorer (IE) i Internetowe usługi informacyjne (IIS). Ponadto środowisko hostingu VBScript można osadzić w innych programach za pomocą technologii takich jak Microsoft Script Control ( msscript.ocx ).

Historia

VBScript powstał jako część technologii Microsoft Windows Script Technologies, uruchomionej w 1996 roku. Technologia ta (obejmująca również JScript ) była początkowo skierowana do twórców stron internetowych. W ciągu nieco ponad dwóch lat VBScript przeszedł z wersji 1.0 do 2.0 iw tym czasie zyskał wsparcie administratorów systemu Windows , poszukujących narzędzia do automatyzacji o większej mocy niż język wsadowy opracowany po raz pierwszy we wczesnych latach 80-tych. 1 sierpnia 1996 roku został wydany Internet Explorer z funkcjami obejmującymi VBScript.

W wersji 5.0 funkcjonalność VBScript została rozszerzona o nowe funkcje, w tym wyrażenia regularne ; zajęcia ; Z oświadczenia; funkcje Eval , Execute i ExecuteGlobal do oceny i wykonywania poleceń skryptu utworzonych podczas wykonywania innego skryptu; system wskaźników funkcji poprzez GetRef i obsługę Distributed COM (DCOM).

W wersji 5.5 do klasy wyrażeń regularnych w VBScript dodano SubMatches , aby ostatecznie umożliwić autorom skryptów przechwytywanie tekstu w grupach wyrażeń. Ta funkcja była już dostępna w JScript.

Wraz z pojawieniem się .NET Framework zespół skryptowy podjął decyzję o zaimplementowaniu przyszłej obsługi VBScript w ASP.NET do tworzenia stron internetowych, w związku z czym nie zostaną opracowane żadne nowe wersje silnika VBScript. Odtąd będzie on wspierany przez zespół ds. zrównoważonego rozwoju firmy Microsoft , który jest odpowiedzialny za poprawki błędów i ulepszenia bezpieczeństwa. Administratorom systemu Windows firma Microsoft sugeruje migrację do programu Windows PowerShell . Jednak aparat skryptowy będzie nadal dostarczany z przyszłymi wydaniami systemu Microsoft Windows i IIS.

Środowiska

Kiedy jest używany do tworzenia stron internetowych po stronie klienta w Microsoft Internet Explorer , VBScript działa podobnie do JavaScript . Służy do pisania wykonywalnych funkcji, które są osadzone lub zawarte na stronach HTML i współdziałają z modelem obiektów dokumentu (DOM) strony, aby wykonywać zadania, które nie są możliwe w samym HTML. Jednak inne przeglądarki internetowe, takie jak Firefox i Opera, a ostatnio Chrome , nie mają wbudowanej obsługi VBScript. Oznacza to, że tam, gdzie wymagane są skrypty po stronie klienta i kompatybilność z różnymi przeglądarkami, programiści zwykle wybierają JavaScript zamiast większości innych języków programowania, takich jak VBScript.

VBScript jest również używany do przetwarzania stron internetowych po stronie serwera, w szczególności z Microsoft Active Server Pages (ASP). Aparat ASP i biblioteka typów, asp.dll , wywołuje vbscript.dll w celu uruchamiania skryptów VBScript. VBScript osadzony na stronie ASP jest zawarty w przełącznikach kontekstu <% i %>. Poniższy przykład strony ASP z VBScript wyświetla aktualny czas w formacie 24-godzinnym, ale jest on również używany jako domyślny skrypt dla komunikatów o błędach w systemach operacyjnych Windows.

 <% Option Explicit %>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 	<head>
 		<title>VBScript Example</title>
 	</head>
 	<body>
 		<div><% 
 			' Grab current time from Now() function.
 			' An '=' sign occurring after a context switch (<%) is shorthand 
 			' for a call to the Write() method of the Response object.
 			Dim timeValue : timeValue = Now %>
 			The time, in 24-hour format, is 
 			<%=Hour(timeValue)%>:<%=Minute(timeValue)%>:<%=Second(timeValue)%>.
 		</div>
 	</body>
 </html>

VBScript może być również używany do tworzenia aplikacji, które działają bezpośrednio na stacji roboczej z systemem Microsoft Windows . Najprostszym przykładem jest skrypt wykorzystujący środowisko Windows Script Host (WSH). Taki skrypt zwykle znajduje się w samodzielnym pliku o rozszerzeniu .vbs . Skrypt można wywołać na dwa sposoby: Wscript.exe służy do wyświetlania danych wyjściowych i odbierania danych wejściowych za pośrednictwem GUI, takich jak okna dialogowe i pola wejściowe. Cscript.exe jest używany w środowisku wiersza poleceń .

VBScript można dołączyć do dwóch innych typów plików skryptów: plików skryptów systemu Windows i aplikacji HTML .

Plik skryptu systemu Windows (WSF) jest stylizowany na XML. Plik WSF może zawierać wiele plików VBS. W rezultacie pliki WSF zapewniają środki do ponownego wykorzystania kodu: biblioteka klas lub funkcji może być przechowywana w jednym lub większej liczbie .vbsplików, które mogą być zawarte w .wsfplikach, dzięki czemu funkcjonalność może być ponownie wykorzystana w sposób modułowy. Pliki mają rozszerzenie .wsfi mogą być uruchamiane za pomocą wscript.exe lub cscript.exe , tak jak .vbsplik.

Aplikacja HTML (HTA) jest stylizowana na HTML. Kod HTML w pliku służy do generowania interfejsu użytkownika, a język skryptowy, taki jak VBScript, jest używany do logiki programu. Pliki mają rozszerzenie .htai można je uruchomić za pomocą mshta.exe .

VBScript (i JScript) może być również używany w składniku skryptów systemu Windows, klasie skryptu obsługującej technologię ActiveX, która może być wywoływana przez inne aplikacje obsługujące model COM . Pliki te mają rozszerzenie .wsc .

VBScript jest prosty w tworzeniu i można go zakodować za pomocą łatwego w użyciu edytora tekstu, takiego jak Notatnik. Prosty VBScript zapisany przez .vbsrozszerzenie można uruchomić w systemie Windows, klikając go dwukrotnie.

Funkcjonalność

Funkcje językowe

Język VBScript jest wzorowany na Visual Basic i dlatego może być przeglądany przy użyciu podobnych kategorii: procedury, struktury kontrolne, stałe, zmienne, interakcja użytkownika, obsługa tablic, funkcje daty/czasu, obsługa błędów, funkcje matematyczne, obiekty, wyrażenia regularne, manipulacja ciągami i tak dalej.

Oto kilka kluczowych punktów wprowadzenia do języka VBScript przez firmę Microsoft

„Procedura” jest główną konstrukcją w VBScript służącą do dzielenia kodu na mniejsze moduły. VBScript rozróżnia między funkcją, która może zwrócić wynik w instrukcji przypisania, a podprogramem, który nie może. Parametry są pozycyjne i mogą być przekazywane przez wartość lub przez odwołanie.

Struktury kontrolne obejmują zwykłe iteracyjne i warunkowe pętle Do, instrukcje If-Then-Else i Case, z niektórymi bardziej złożonymi wariantami, takimi jak ElseIf i zagnieżdżone struktury kontroli.

Jako pomoc pamięci w kodowaniu, a na pewno dla czytelności, istnieje duża liczba stałych, takich jak True i False dla wartości logicznych, vbOKCancel i vbYesNo dla kodów MsgBox, vbBlack i vbYellow dla wartości kolorów, vbCR dla znaku powrotu karetki, i wiele innych.

Zmienne mają domyślnie typ „ Variant ”, ale jest możliwe (a czasami konieczne) wymuszenie określonego typu (liczba całkowita, data itp.) za pomocą funkcji konwersji (CInt, CDate itp.)

Interakcja użytkownika jest poprzez funkcje MsgBoxi InputBoxktóre zapewniają prosty format oknie dialogowym komunikatów i wejścia. Obie funkcje wyświetlają komunikaty podpowiedzi, przy czym pierwsza zwraca standardową odpowiedź, a druga zwraca jeden tekst lub wartość liczbową podaną przez użytkownika. Aby uzyskać bardziej rozbudowaną interakcję GUI z kontrolkami, VBScript może być używany w połączeniu z HTML, na przykład w aplikacji HTML . Formularze sterowane zdarzeniami nie są obsługiwane, tak jak w Visual Basic lub Visual Basic for Applications .

W nazwach nie jest rozróżniana wielkość liter. Uważa się jednak, że najlepszą praktyką stylu VBScript jest zachowanie spójności i rozsądne kapitalizowanie.

Funkcjonalności VBScript

W przypadku hostowania przez hosta skryptów systemu Windows , VBScript udostępnia wiele funkcji wspólnych dla języków skryptowych, ale niedostępnych w Visual Basic 6.0 . Funkcje te obejmują bezpośredni lub łatwy dostęp do:

  • Nazwane i nienazwane argumenty wiersza poleceń,
  • Stdin i stdout , które można przekierować,
  • WSH.Echo, który zapisuje do konsoli i nie można go przekierować,
  • WSH.ExitCode, który można przetestować z plików wsadowych DOS lub przez proces, który wywołał plik skryptu,
  • Drukarki sieciowe,
  • Udziały sieciowe,
  • Foldery specjalne, np. Pulpit, Ulubione, Moje dokumenty itd.,
  • Informacje o użytkowniku sieci, takie jak członkostwo w grupie,
  • Metody wykonywania runtime tekstu zdefiniowanego w runtime: Eval i Execute,
  • Metody wykonywania skryptów na zdalnych maszynach,
  • Instrumentacja zarządzania Windows (WMI)
  • Funkcjonalność osadzania silnika VBScript w innych aplikacjach przy użyciu powszechnie znanego języka.

CScript, program uruchamiający wiersz poleceń, udostępnia opcje dla:

  • Tryb interaktywny lub wsadowy,
  • Wywołanie trybu debugowania z wiersza poleceń,
  • Raportowanie błędów, w tym numer wiersza.

Dodatkowa funkcjonalność

Zarządzanie systemem plików, modyfikacja plików i operacje przesyłania strumieniowego tekstu są implementowane za pomocą Scripting Runtime Library scrrun.dll. Zapewnia to obiekty, takie jak FileSystemObject, File i TextStream, które udostępniają programiście system plików Windows.

Pliki binarne i operacje we/wy pamięci są dostarczane przez klasę „ADODB.Stream”, która może być również używana do tworzenia ciągów (aby uniknąć nadmiernego łączenia ciągów, co może być kosztowne) oraz do wzajemnej konwersji tablic bajtów i ciągów. Dostęp do bazy danych jest możliwy dzięki obiektom ActiveX Data Objects (ADO), a metabazą IIS można manipulować za pomocą funkcji GetObject() z wystarczającymi uprawnieniami (przydatnymi do tworzenia i niszczenia witryn oraz katalogów wirtualnych). Plikami i schematami XML można manipulować za pomocą interfejsów programowania aplikacji biblioteki Microsoft XML ( msxml6.dll , msxml3.dll ), które mogą być również używane do pobierania zawartości z sieci WWW za pośrednictwem obiektów XMLHTTP i ServerXMLHTTP (ciągi klasy „MSXML2. XMLHTTP.6.0” i „MSXML2.ServerXMLHTTP.6.0” odpowiednio).

Funkcjonalność można również dodać za pomocą technologii ActiveX. Obawy dotyczące bezpieczeństwa doprowadziły do ​​umieszczenia wielu formantów ActiveX na czarnej liście w procesie Internet Explorera przez firmę Microsoft, która wdraża killbit za pośrednictwem comiesięcznych aktualizacji zabezpieczeń systemu Windows, aby wyłączyć podatny na ataki kod firmy Microsoft i stron trzecich.

Programiści mogą wykorzystać rozszerzalność za pośrednictwem modułów COM (ActiveX), aby wyposażyć hosta skryptów i VBScript w wymagane lub pożądane funkcje. Na przykład komponent "VTool" dodaje kilka okien dialogowych, dostęp do plików binarnych i inne funkcje.

Narzędzia programistyczne

Firma Microsoft nie udostępnia rutynowo IDE ( Integrated Development Environment ) dla VBScript, chociaż Microsoft Script Editor został dołączony do niektórych wersji pakietu Microsoft Office.

Do celów debugowania Microsoft Script Debugger może być nadal używany w bieżących wersjach systemu Windows, mimo że narzędzie nie było aktualizowane od lat. Pozwala użytkownikowi ustawić punkty przerwania w kodzie VBScript, ale interfejs użytkownika jest więcej niż niezdarny.

Dostępne są debugery VBScript ze źródeł zewnętrznych, a wiele edytorów tekstu oferuje podświetlanie składni dla języka.

Podczas wykonywania, gdy wystąpi błąd, host skryptu wysyła komunikat podający typ błędu i numer nieprawidłowej linii.

Zastosowania

Chociaż VBScript jest językiem skryptowym ogólnego przeznaczenia, warto zwrócić uwagę na kilka konkretnych obszarów zastosowania. Po pierwsze, jest szeroko stosowany wśród administratorów systemów w środowisku Microsoft. Ta sytuacja może ulec zmianie wraz z promocją i zwiększonym wykorzystaniem programu PowerShell . Po drugie, VBScript to język skryptowy dla Quick Test Professional , narzędzia do automatyzacji testów. Trzecim obszarem, na który należy zwrócić uwagę, jest przyjęcie VBScript jako wewnętrznego języka skryptowego dla niektórych aplikacji wbudowanych, takich jak przemysłowe interfejsy operatora i interfejsy człowiek-maszyna. Hierarchiczny DBMS InterSystems Caché (wywodzący się z języka MUMPS ) obsługuje również implementację VBScript, Cache BASIC, do programowania zapisanego kodu.

VBScript pomija kilka przydatnych funkcji pełnego Visual Basic, takich jak silne typowanie, rozszerzone wychwytywanie błędów i możliwość przekazywania zmiennej liczby parametrów do podprogramu. Jednak jego użycie jest stosunkowo powszechne, ponieważ jest łatwy do nauczenia i ponieważ ci, którzy implementują kod w tym języku, nie muszą płacić Microsoftowi tantiem, o ile uznawany jest znak towarowy VBScript. Kiedy organizacja licencjonuje Visual Basic for Applications (VBA) od Microsoft, tak jak zrobiły to firmy takie jak Autodesk, StatSoft, Great Plains Accounting i Visio (później przejęte przez Microsoft), dopuszcza się redystrybucję pełnego środowiska do pisania i debugowania kodu VBA ze swoim produktem.

VBScript jest używany zamiast VBA jako język makr programu Outlook 97.

VBScript może być efektywnie wykorzystywany do automatyzacji codziennych zadań biurowych, a także monitorowania w środowisku Windows. Jest to narzędzie pierwszego wyboru dla administratorów serwerów, użytkowników MS Office i innych współpracowników technologicznych. Może być również używany we współpracy z obiektami danych ActiveX ADODB (ADODB) w celu zapewnienia efektywnej łączności z bazą danych.

VBScript może być również używany do tworzenia złośliwego oprogramowania i wirusów, takich jak robak ILOVEYOU, który rozprzestrzenia się za pośrednictwem załączników do wiadomości e-mail w programie Outlook 97, który kosztuje miliardy dolarów. Może to być również główny powód, dla którego niektóre przeglądarki, takie jak Firefox , Opera i Chrome , nie obsługują tego.

Zobacz też

Bibliografia

Zewnętrzne linki