VBScript - VBScript
Deweloper | Microsoft |
---|---|
Po raz pierwszy pojawiły się | 1996 |
Wersja stabilna | 5,8
|
OS | Okna |
Rozszerzenia nazw plików | .vbs , .vbe , .wsf , .wsc ( .asp , .hta , .htm , .html ) |
Strona internetowa | dokumenty |
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 .vbs
plików, które mogą być zawarte w .wsf
plikach, dzięki czemu funkcjonalność może być ponownie wykorzystana w sposób modułowy. Pliki mają rozszerzenie .wsf
i mogą być uruchamiane za pomocą wscript.exe lub cscript.exe , tak jak .vbs
plik.
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 .hta
i 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 .vbs
rozszerzenie 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 MsgBox
i InputBox
któ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ż
- AppleScript
- Host skryptów FastTrack
- Komponenty HTML
- JavaScript
- JScript .NET
- JScript
- PerlScript
- Windows PowerShell
- Plik skryptu systemu Windows
Bibliografia
Zewnętrzne linki
- Czy VBScript jest martwy?
- VBScript w Microsoft Developer Network
- Dokumentacja skryptu Windows 5.6
- VBScript @ codewiki
- VBScript @ stealthbot
- Przegląd WMI , Microsoft TechNet