VBScript
Класс языка сценарный и интерпретируемый
Появился в 1996
Разработчик Microsoft
Расширение файлов .vbs
Выпуск
Сайт docs.microsoft.com/… (англ.)
Логотип Викисклада Медиафайлы на Викискладе

VBScript (VBS, развернуто Microsoft Visual Basic Script Edition, иногда Visual Basic Script) — язык сценариев, созданный компанией Microsoft на основе языка Visual Basic, предназначенный для применения в приложениях, использующих технологию Active Scripting.

Область применения

править

Сценарии (скрипты) на языке VBScript чаще всего применяются в следующих областях, использующих продукцию Microsoft:

VBS-сценарии, в зависимости от области применения, могут располагаться в отдельных текстовых файлах (обычно, с расширением .vbs) или встраиваться в документы на других языках (например, HTML). Очень часто скрипты используются программами-инсталляторами для преднастройки.

Для работоспособности скриптов в системе должно присутствовать исполняющее ядро («движок»[2]) языка (библиотека vbscript.dll). Также существуют программы (как правило, коммерческие), позволяющие сконвертировать скрипт в вполне работоспособное самостоятельное приложение *.exe.

Нельзя не упомянуть тот факт, что язык VBS издавна широко использовался и продолжает использоваться вирусописателями, для создания хоть и примитивных, но очень эффективных и опасных вредоносных программ (таких как ILOVEYOU), что сослужило языку плохую славу. Ввиду простоты синтаксиса, написать вирус может даже новичок, причем вирус будет работоспособен во всех версиях Windows (как актуальных, начиная с Windows XP и заканчивая Windows 11, так и старых, таких как Windows 98, Windows Me и Windows 2000). Посему, считается дурным тоном исполнять скрипты VBS на ПЭВМ, ввиду их большой опасности. В 99% из 100 исполняемый скрипт будет являться вредоносной программой.

Правила языка

править

В VBScript работают следующие правила:

  • длина строки не ограничена;
  • регистр символов не учитывается;
  • количество пробелов между параметрами не учитывается;
  • строку команды можно разрывать, а на месте разрыва нужно вставлять символ «_»;
  • максимальная длина имени переменной 255 символов;
  • комментарии обозначаются символом «'».
  • несколько команд можно расположить на одной строке, разделив их символом «:»

Переменные

править

По умолчанию переменные в сценариях объявляются автоматически при первом использовании в теле скрипта, если это не запрещено директивой Option Explicit. Если же в начале сценария объявить директиву Option Explicit, то все переменные нужно определять заранее с помощью следующих конструкций:

Dim ValueName1 ' переменная, доступная всем подпрограммам;
Public ValueName2 ' переменная, доступная всем подпрограммам;
Private ValueName3 ' переменная, доступная только текущей программе и её подпрограммам;

Константы объявляются в начале сценария с помощью конструкции:

Const ConstName1 = Value1 ' константа, доступная всем подпрограммам;
Public Const ConstName2 = Value2 ' константа, доступная всем подпрограммам;
Private Const ConstName3 = Value3 ' константа, доступная только текущей программе и её подпрограммам;

Тип переменной присваивается автоматически после внесения в неё первого значения. В Visual Basic существуют следующие типы данных:

  • empty — неинициализированная переменная;
  • null — пустая переменная;
  • boolean — логический тип, возможные значения: False, True или 0, 1;
  • byte — 8-битное целое число без знака, возможные значения: 0 .. 255;
  • integer — 16-битное целое число, возможные значения: −32768 .. 32767;
  • long — 32-битное целое число, возможные значения: −2147483648 .. 2147483647;
  • currency — денежный тип, возможные значения: −922337203685477,5808 до 922337203685477,5807;
  • single — число с плавающей точкой, возможные значения: −3.402823e38 .. −1.401298e-45 для отрицательных чисел и 1.401298e-45 .. 3.402823e38 для положительных чисел;
  • double — число с плавающей точкой, возможные значения: −1.79769313486232e308 .. −4.94065645841247e-324 для отрицательных чисел и 4.94065645841247e-324 .. 1.79769313486232e308 для положительных чисел;
  • date — дата, возможные значения: 01.01.1900 .. 31.01.9999;
  • string — строковая переменная, вместимость до 2 миллиардов символов;
  • object — указатель на объект;
  • error — код ошибки.

В VBS-сценариях возможно использование массивов переменных, которые позволяют хранить списки, таблицы и даже более сложные конструкции. Одномерные массивы (списки) могут быть динамическими, то есть они позволяют изменять свой размер в ходе работы сценария. Все массивы объявляются командой Dim:

Dim ArrayName(Dimension)

Объекты, их методы и свойства

править

VBScript, как и его родитель — язык Visual Basic, является объектно-ориентированным языком программирования, то есть основной концепцией является понятие объектов и классов

Класс — это тип, описывающий устройство объектов. Объект подразумевает под собой нечто, что обладает определённым поведением и способом представления, объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

Все объекты, с которыми работает VBScript, имеют методы и свойства. Чтобы обратиться к методу, необходимо указать объект, а через точку — метод с необходимыми параметрами.

Аналогичная ситуация со свойствами, но свойства можно как назначать, так и считывать в переменные и другие свойства, правда, следует учитывать тип данных переменных и свойств, иначе сценарий выдаст ошибку несовместимости типов данных.

Пример

править

Вот пример небольшой программы на языке VBScript, которая выводит диалоговое окно с сообщением (символы после знака апостроф являются комментариями):

' Объявление переменной:
Dim s
' Присваивание переменной значения:
s = "Википедия — свободная энциклопедия"
' Вывод окна с сообщением:
MsgBox s

По эффекту работы она аналогична прямой инструкции

MsgBox "Википедия — свободная энциклопедия"

См. также

править

Примечания

править
  1. англ. Windows Script Host
  2. По своей сути аналогичный движкам JavaScript.

Ссылки

править
  • VBScript (англ.) — Руководство по VBScript от Майкрософт.
  • The Script Center Script Repository (англ.) — Коллекция скриптов на VBScript от Майкрософт.

📚 Artikel Terkait di Wikipedia

Сервер сценариев Windows

предназначенный для запуска сценариев на скриптовых языках JScript и VBScript, а также и на других дополнительно устанавливаемых языках (например, Perl)

Active Server Pages

приложения. Для реализации приложений ASP используются языки сценариев (VBScript или JScript). Также допускается применение COM-компонентов. Технология

Heap spraying

позволяющая положить байты именно в том порядке, в котором указано в аргументе. VBScript используют в Internet Explorer для создания строк с помощью string. Концептуально

Цукерберг, Марк

технологий. Свою сферу интересов указывал как «C, C++, Java, Visual Basic, VBscript, JavaScript, PHP и ASP». Цукерберг неоднократно характеризовал себя как

Visual Basic

Visual Basic for Applications (VBA) и Visual Basic Scripting Edition (VBScript) и о языке для платформы .NET — Visual Basic .NET. В марте 2020 года Microsoft

Windows

файлов Поиск Windows IFilter Indexing Service GDI SMB Active Scripting WSH VBScript JScript COM OLE DCOM ActiveX Теневая копия WDDM UAA Консоль Win32 Windows

ILOVEYOU

безопасный текстовый файл, а системой интерпретировался как скрипт на языке VBScript. Обработка скриптов также была включена по умолчанию. На то время ещё не

JavaScript

псевдостатичная типизация. VBScript от Microsoft, подобно JavaScript, может выполняться на стороне клиента в веб-страницах. VBScript имеет синтаксис, производный