Разработчик | Microsoft |
---|---|
Впервые появился | 1996 |
Стабильный выпуск | 5,8 |
Операционные системы | Окна |
Расширения имени файла | .vbs , .vbe , .wsf , .wsc ( .asp , .hta , .htm , .html ) |
Веб-сайт | документы |
Основные реализации | |
Хост сценариев Windows , страницы активного сервера | |
Под влиянием | |
Visual Basic | |
Под влиянием | |
Windows PowerShell |
VBScript ( « Microsoft Visual Basic Scripting Edition» ) - это язык активных сценариев, разработанный Microsoft и созданный по образцу Visual Basic . Он позволяет системным администраторам Microsoft Windows создавать мощные инструменты для управления компьютерами с обработкой ошибок , подпрограммами и другими сложными конструкциями программирования. Это может дать пользователю полный контроль над многими аспектами своей вычислительной среды.
VBScript использует объектную модель компонентов для доступа к элементам среды, в которой он выполняется; например, FileSystemObject (FSO) используется для создания, чтения, обновления и удаления файлов . VBScript был установлен по умолчанию во всех выпусках Microsoft Windows для настольных ПК, начиная с Windows 98 ; [1] в Windows Server, начиная с Windows NT 4.0 Option Pack ; [2] и опционально с Windows CE (в зависимости от устройства, на котором он установлен).
Сценарий VBScript должен выполняться в среде хоста , некоторые из которых входят в состав Microsoft Windows, в том числе: Windows Script Host (WSH), Internet Explorer (IE) и Internet Information Services (IIS). [3] Кроме того, среду размещения VBScript можно встраивать в другие программы с помощью таких технологий, как Microsoft Script Control ( msscript.ocx ).
История [ править ]
VBScript возник как часть Microsoft Windows Script Technologies, запущенной в 1996 году. Эта технология (которая также включала JScript ) изначально была предназначена для веб-разработчиков. За период чуть более двух лет VBScript продвинулся с версии 1.0 до 2.0, и за это время он получил поддержку со стороны системных администраторов Windows, ищущих инструмент автоматизации, более мощный, чем пакетный язык, впервые разработанный в начале 1980-х годов. [4] 1 августа 1996 г. был выпущен Internet Explorer с функциями, включая VBScript. [5]
В версии 5.0 функциональность VBScript была расширена новыми функциями, включая регулярные выражения ; классы ; С утверждением; [6] функции Eval , Execute и ExecuteGlobal для оценки и выполнения команд сценария, созданных во время выполнения другого сценария; система указателей на функции через GetRef, [7] и поддержку Distributed COM (DCOM).
В версии 5.5 SubMatches [8] были добавлены в класс регулярных выражений в VBScript, чтобы, наконец, позволить авторам сценариев захватывать текст в группах выражения. Эта возможность уже была доступна в JScript.
С появлением .NET Framework команда разработчиков сценариев приняла решение реализовать в будущем поддержку VBScript в ASP.NET для веб-разработки [9], и поэтому новые версии механизма VBScript разрабатываться не будут. Отныне его будет поддерживать группа инженеров Microsoft , отвечающая за исправление ошибок и повышение безопасности. Системным администраторам Windows Microsoft предлагает перейти на Windows PowerShell . Однако механизм сценариев будет по-прежнему поставляться с будущими выпусками Microsoft Windows и IIS. [ необходима цитата ]
Среды [ править ]
При использовании для клиентской веб-разработки в Microsoft Internet Explorer VBScript по своим функциям аналогичен JavaScript . Он используется для написания исполняемых функций, которые встроены в HTML-страницы или включены из них и взаимодействуют с объектной моделью документа (DOM) страницы, чтобы выполнять задачи, которые невозможно выполнить только в HTML. Однако другие веб-браузеры, такие как Firefox и Opera, а в последнее время и Chrome , не имеют встроенной поддержки VBScript. Это означает, что там, где требуются сценарии на стороне клиента и кроссбраузерная совместимость, разработчики обычно предпочитают JavaScript большинству других языков программирования, например VBScript.
VBScript также используется для обработки веб-страниц на стороне сервера, в первую очередь с Microsoft Active Server Pages (ASP). Подсистема ASP и библиотека типов asp.dll вызывает vbscript.dll для запуска сценариев VBScript. VBScript, встроенный в страницу ASP, содержится в переключателях контекста <% и%>. В следующем примере страницы ASP с VBScript текущее время отображается в 24-часовом формате, но оно также используется в качестве сценария по умолчанию для сообщений об ошибках в операционных системах 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 </title> </head> <body> <div> <% 'Получить текущее время из функции Now (). Знак '=' после переключения контекста (<%) является сокращением. 'для вызова метода Write () объекта Response. Dim timeValue = Сейчас %> Время в 24-часовом формате <% = Hour ( timeValue ) %> : <% = Minute ( timeValue ) %> : <% = Second ( timeValue ) %> . </div> </body> </html>
VBScript также можно использовать для создания приложений, которые запускаются непосредственно на рабочей станции под управлением Microsoft Windows . Простейшим примером является сценарий, использующий среду Windows Script Host (WSH). Такой сценарий обычно находится в отдельном файле с расширением файла .vbs
. Сценарий можно вызвать двумя способами: Wscript.exe используется для отображения вывода и приема ввода через графический интерфейс, например диалоговые окна и поля ввода. Cscript.exe используется в среде командной строки .
VBScript может быть включен в два других типа файлов сценариев: файлы сценариев Windows и приложения HTML .
Файл сценария Windows (WSF) оформлен в стиле XML. Файл WSF может включать несколько файлов VBS. В результате файлы WSF предоставляют средства для повторного использования кода: библиотека классов или функций может храниться в одном или нескольких .vbs
файлах, которые могут быть включены в .wsf
файлы, поэтому функциональные возможности могут быть повторно использованы модульным способом. Файлы имеют расширение .wsf
и могут быть выполнены с использованием wscript.exe или cscript.exe , так же , как файл может..vbs
HTML-приложение (HTA) оформлено в стиле HTML. HTML в файле используется для создания пользовательского интерфейса, а язык сценариев, такой как VBScript, используется для логики программы. Файлы имеют расширение .hta
и могут быть выполнены с помощью mshta.exe .
VBScript (и JScript) также можно использовать в компоненте сценария Windows, классе сценария с поддержкой ActiveX, который может быть вызван другими приложениями с поддержкой COM . [10] Эти файлы имеют расширение .wsc .
VBScript прост в создании и может быть закодирован с помощью простого в использовании текстового редактора, такого как Блокнот. Простой сценарий VBScript, сохраненный .vbs
расширением, можно запустить в системе Windows, дважды щелкнув его.
Функциональность [ править ]
Особенности языка [ править ]
Язык VBScript смоделирован на основе Visual Basic, поэтому его можно рассматривать с использованием аналогичных категорий: процедуры, управляющие структуры, константы, переменные, взаимодействие с пользователем, обработка массивов, функции даты / времени, обработка ошибок, математические функции, объекты, регулярные выражения, манипуляции со строками и так далее. [11]
Ниже приведены некоторые ключевые моменты введения Microsoft в язык VBScript.
«Процедура» - это основная конструкция в VBScript для разделения кода на более мелкие модули. VBScript различает функцию, которая может возвращать результат в операторе присваивания, и подпрограмму, которая не может. Параметры являются позиционными и могут передаваться по значению или по ссылке.
Управляющие структуры включают в себя обычные итерационные и условные циклы Do Loops, If-Then-Else и операторы Case с некоторыми более сложными вариантами, такими как ElseIf и вложенные управляющие структуры.
В качестве вспомогательного средства памяти при кодировании и, конечно же, для удобства чтения существует большое количество констант, таких как True и False для логических значений, vbOKCancel и vbYesNo для кодов MsgBox, vbBlack и vbYellow для значений цвета, vbCR для символа возврата каретки, и много других.
По умолчанию переменные имеют тип " Variant ", но можно (а иногда и необходимо) задать конкретный тип (целое число, дата и т. Д.) С помощью функций преобразования (CInt, CDate и т. Д.)
Взаимодействие с пользователем осуществляется через функцию MsgBox
и InputBox
которые обеспечивают простой формат окно диалога для сообщений и ввода. Обе функции отображают запрашивающие сообщения, первая из которых возвращает стандартный ответ, а вторая - одно введенное пользователем текстовое или числовое значение. Для более сложного взаимодействия графического интерфейса пользователя с элементами управления VBScript можно использовать в сочетании с HTML, например, в приложении HTML . Формы, управляемые событиями, не поддерживаются, как в Visual Basic или Visual Basic для приложений.
Имена не чувствительны к регистру. Тем не менее, лучшей практикой стиля VBScript считается постоянство и разумное использование заглавных букв.
Функции VBScript [ править ]
При размещении на хосте сценариев Windows VBScript предоставляет множество функций, которые являются общими для языков сценариев, но недоступны в Visual Basic 6.0 . Эти функции включают прямой или легкий доступ к:
- Именованные и безымянные аргументы командной строки,
- Stdin и stdout , которые можно перенаправить,
- WSH.Echo, который пишет в консоль и не может быть перенаправлен,
- WSH.ExitCode, который можно проверить из командных файлов DOS или процессом, вызвавшим файл сценария,
- Сетевые принтеры,
- Сетевые ресурсы,
- Специальные папки, например Рабочий стол, Избранное, Мои документы и т. Д.,
- Информация о сетевом пользователе, например членство в группах,
- Методы выполнения текста, определенного во время выполнения: Eval и Execute,
- Способы выполнения скриптов на удаленных машинах,
- Инструментарий управления Windows (WMI)
- Функциональность для встраивания движка VBScript в другие приложения с использованием широко известного языка.
CScript, средство запуска командной строки, предоставляет параметры для:
- Интерактивный или пакетный режим,
- Вызов режима отладки из командной строки,
- Отчет об ошибке, включая номер строки.
Дополнительная функциональность [ править ]
Управление файловой системой, модификация файлов и потоковая передача текста реализованы с помощью библиотеки времени выполнения сценариев scrrun.dll
. Это предоставляет такие объекты, как FileSystemObject, File и TextStream, которые открывают программисту доступ к файловой системе Windows.
Двоичный файл и ввод-вывод памяти обеспечиваются классом «ADODB.Stream», который также может использоваться для построителей строк (чтобы избежать чрезмерной конкатенации строк, которая может быть дорогостоящей), а также для взаимного преобразования байтовых массивов и строк. Доступ к базе данных возможен через объекты данных ActiveX (ADO), а метабазой IIS можно управлять с помощью функции GetObject () с достаточными разрешениями (полезно для создания и уничтожения сайтов и виртуальных каталогов). XML-файлами и схемами можно управлять с помощью интерфейсов программирования приложений библиотеки Microsoft XML ( msxml6.dll , msxml3.dll), который также можно использовать для извлечения содержимого из Всемирной паутины через объекты XMLHTTP и ServerXMLHTTP (строки классов «MSXML2.XMLHTTP.6.0» и «MSXML2.ServerXMLHTTP.6.0» соответственно).
Функциональность также может быть добавлена с помощью технологий ActiveX. Проблемы безопасности привели к тому, что многие элементы управления ActiveX были занесены в черный список процесса Internet Explorer Microsoft, которая развертывает killbit через ежемесячные обновления безопасности Windows для отключения уязвимого кода Microsoft и сторонних производителей. [12] [13]
Программисты могут использовать расширяемость с помощью модулей COM (ActiveX), чтобы специально оснастить Script Host и VBScript необходимыми или желаемыми функциями. Компонент VTool, например, добавляет ряд диалоговых окон, доступ к двоичным файлам и другие функции. [14]
Инструменты разработки [ править ]
Корпорация Майкрософт обычно не предоставляет IDE ( интегрированную среду разработки ) для VBScript, хотя редактор сценариев Microsoft входит в состав некоторых версий Microsoft Office.
Для целей отладки Microsoft Script Debugger все еще можно использовать в текущих версиях Windows, даже если инструмент не обновлялся годами. Он позволяет пользователю устанавливать точки останова в коде VBScript, но пользовательский интерфейс более чем неуклюжий.
Существуют отладчики VBScript, доступные из сторонних источников [15] [16], и многие текстовые редакторы предлагают подсветку синтаксиса для языка.
Во время выполнения, когда возникает ошибка, хост сценария выдает сообщение, в котором указывается тип ошибки и номер ошибочной строки.
Использует [ редактировать ]
Хотя VBScript является языком сценариев общего назначения, следует отметить несколько конкретных областей его использования. Во-первых, он широко используется системными администраторами в среде Microsoft. [17] Эта ситуация может измениться с продвижением и более широким использованием Windows PowerShell . Во-вторых, VBScript - это язык сценариев для Quick Test Professional , инструмента автоматизации тестирования. [18] Третья область, на которую следует обратить внимание, - это принятие VBScript в качестве внутреннего языка сценариев для некоторых встроенных приложений, таких как промышленные операторские интерфейсы и человеко-машинные интерфейсы. Иерархическая СУБД InterSystems Caché (корни которой лежат в языке MUMPS) также поддерживает реализацию VBScript, Cache BASIC, для программирования хранимого кода. [19]
VBScript опускает несколько полезных функций полной версии Visual Basic, таких как строгая типизация, расширенный перехват ошибок и возможность передавать переменное количество параметров в подпрограмму. Однако его использование относительно широко распространено, потому что его легко освоить и потому, что те, кто реализует код на этом языке, не должны платить Microsoft роялти, если торговая марка VBScript признана. [ необходима цитата ] Когда организация лицензирует Visual Basic для приложений (VBA) от Microsoft, как это сделали такие компании, как Autodesk, StatSoft, Great Plains Accounting и Visio (впоследствии приобретенная Microsoft), ей разрешается распространять полный код VBA - среда написания и отладки со своим продуктом.
VBScript используется вместо VBA в качестве макроязыка Outlook 97.
VBScript можно эффективно использовать для автоматизации повседневных офисных задач, а также для мониторинга в среде Windows. Это инструмент первого выбора для администраторов серверов, пользователей MS Office и других технических специалистов. [ необходима цитата ] Его также можно использовать в сотрудничестве с ADODB ActiveX Data Objects (ADODB) для эффективного подключения к базе данных.
VBScript также может использоваться для создания вредоносных программ и вирусов, таких как червь ILOVEYOU, который распространяется через вложения электронной почты в Outlook 97 и стоит миллиарды долларов. Это также может быть основной причиной того, что некоторые браузеры, такие как Firefox , Opera и Chrome , не поддерживают его.
См. Также [ править ]
- AppleScript
- Хост сценариев FastTrack
- Компоненты HTML
- JavaScript
- JScript .NET
- JScript
- PerlScript
- Windows PowerShell
- Файл сценария Windows
Ссылки [ править ]
- ^ Информация о версии WSH , в MSDN
- ^ Информация о версии VBScript , в MSDN
- ^ Что такое VBScript? , в библиотеке MSDN
- ^ 86-ДОС
- ^ «История Visual Basic» . www.johnsmiley.com .
- ^ Visual Basic Scripting Edition: With Statement , в MSDN
- ^ Функция GetRef , в MSDN
- ^ Visual Basic Scripting Edition: SubMatches Collection , в MSDN
- ^ А как насчет VBScript? в статье « Введение в JScript .NET » Эндрю Клиника из Microsoft Corporation в Scripting Clinic на MSDN (14 июля 2000 г.)
- ^ Введение в компоненты сценария Windows на MSDN
- ^ «Возможности VBScript» . msdn.microsoft.com .
- ^ «Как остановить запуск элемента ActiveX в Internet Explorer» . Microsoft . 2007-08-24 . Проверено 29 июня 2009 .
- ^ «Microsoft Security Advisory (960715): Накопительный пакет обновления для битов блокировки ActiveX» . Microsoft . 2009-01-17 . Проверено 29 июня 2009 .
- ^ Компонент сценария "VTool" - графический интерфейс и функциональные улучшения для WSH / VBS
- ^ «VbsEdit - редактор VBScript с отладчиком - редактор VBS» . www.vbsedit.com .
- ^ Corp., Spline Technologies. «Отладчик SplineTech VBS, Отладчик VBScript. Отладка VBS» . www.remotedebugger.com .
- ^ Центр сценариев , сценарии системного администрирования, ориентированные на веб-сайт Microsoft
- ^ « Quick Test Professional - Основы VBScript » .
- ^ «Caché для анализа неструктурированных данных» . InterSystems . Проверено 24 сентября 2018 .
Внешние ссылки [ править ]
Викискладе есть медиафайлы по теме VBScript . |
- VBScript мертв?
- VBScript в сети разработчиков Microsoft
- Документация по Windows Script 5.6
- VBScript @ codewiki
- VBScript @ stealthbot
- Обзор WMI , Microsoft TechNet