VBScript - VBScript
Разработчик | Microsoft |
---|---|
Впервые появился | 1996 |
Стабильный выпуск | 5.8 |
Операционные системы | Windows |
Расширения имени файла | .vbs, .vbe, .wsf, .wsc (.asp, .hta, .htm, .html ) |
Интернет сайт | документы |
Основной реализации | |
Хост сценариев Windows, Активные серверные страницы | |
Под влиянием | |
Visual Basic | |
Под влиянием | |
Windows PowerShell |
VBScript ("Microsoft Visual Basic Scripting Edition ») является Активные сценарии язык, разработанный Microsoft, созданный по образцу Visual Basic. Это позволяет Майкрософт Виндоус системные администраторы для создания мощных инструментов для управления компьютерами с обработка ошибок, подпрограммы, и другие сложные конструкции программирования. Это может дать пользователю полный контроль над многими аспектами своей вычислительной среды.
VBScript использует Компонентная объектная модель для доступа к элементам среды, в которой он работает; например, FileSystemObject (FSO) используется для создавать, читать, обновлять и удалять файлы. VBScript был установлен по умолчанию в каждой настольной версии Майкрософт Виндоус поскольку Windows 98;[1] в Windows Server поскольку Пакет опций Windows NT 4.0;[2] и, возможно, с Windows CE (в зависимости от устройства, на котором он установлен).
Сценарий VBScript должен выполняться в среда хоста, некоторые из которых поставляются с Microsoft Windows, в том числе: Хост сценариев Windows (WSH), Internet Explorer (IE), и Информационные службы Интернета (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, Выполнять, и ExecuteGlobal функции для оценки и выполнения команд сценария, созданные во время выполнения другого сценария; система указателей на функции через GetRef,[7] и Распределенный COM (DCOM) поддержка.
В версии 5.5 Подматчи[8] были добавлены в регулярное выражение class в 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. Однако другие веб-браузеры, такие как Fire Fox и Опера не имеют встроенной поддержки VBScript. Это означает, что там, где требуются сценарии на стороне клиента и кросс-браузерная совместимость, разработчики обычно предпочитают JavaScript, а не VBScript.
VBScript также используется для обработки веб-страниц на стороне сервера, особенно в Microsoft. Активные серверные страницы (ASP). Механизм ASP и библиотека типов, asp.dll, вызывает vbscript.dll для запуска сценариев VBScript. VBScript, встроенный в страницу ASP, содержится в переключателях контекста <% и%>. В следующем примере страницы ASP с VBScript текущее время отображается в 24-часовом формате, но оно также используется в качестве сценария по умолчанию для сообщений об ошибках в операционных системах Windows.
1 <% Вариант Явный %> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 3 <html> 4 <head> 5 <title>Пример VBScript</title> 6 </head> 7 <body> 8 <% 9 'Получить текущее время из функции Now ().10 Знак '=' после переключения контекста (<%) является сокращением. 11 'для вызова метода Write () объекта Response.12 Тусклый timeValue = Сейчас же %>13 Время в 24-часовом формате 14 <%=Час(timeValue)%>:<%=Минуты(timeValue)%>:<%=Второй(timeValue)%>.15 </div>16 </body>17 </html>VBScript также можно использовать для создания приложений, которые запускаются непосредственно на рабочей станции. Майкрософт Виндоус. Самый простой пример - это сценарий, в котором используется Хост сценариев Windows (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 для символа возврата каретки, и много других.
Переменные имеют "Вариант "тип по умолчанию, но можно (а иногда и необходимо) заставить определенный тип (целое число, дату и т. д.) использовать функции преобразования (CInt, CDate и т. д.)
Взаимодействие с пользователем обеспечивается через функции MsgBox
и Поле ввода
которые обеспечивают простой формат диалогового окна для сообщений и ввода. Обе функции отображают запрашивающие сообщения, первая из которых возвращает стандартный ответ, а вторая - одно введенное пользователем текстовое или числовое значение. Для более детального взаимодействия графического интерфейса с элементами управления VBScript можно использовать в сочетании с HTML, например, в HTML-приложение. Формы, управляемые событиями, не поддерживаются, как в Visual Basic или Visual Basic для приложений.
Имена не чувствительны к регистру. Однако лучшей практикой стиля VBScript считается постоянство и разумное использование заглавных букв.
Функции VBScript
При размещении на Хост сценариев Windows, VBScript предоставляет множество функций, которые являются общими для языков сценариев, но недоступны из Visual Basic 6.0. Эти функции включают прямой или легкий доступ к:
- Именованные и безымянные аргументы командной строки,
- Stdin и стандартный вывод, который можно перенаправить,
- 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, который развертывает убийца через ежемесячные обновления безопасности Windows, чтобы отключить уязвимый код Microsoft и сторонних производителей.[12][13]
Программисты могут использовать расширяемость через модули COM (ActiveX), чтобы специально оснастить Script Host и VBScript необходимыми или желаемыми функциями. Компонент VTool, например, добавляет ряд диалоговых окон, доступ к двоичным файлам и другие функции.[14]
Инструменты разработки
Microsoft обычно не предоставляет 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é (который имеет свои корни в языке МАМПЫ ) также поддерживает реализацию 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 (ADODB) для эффективного подключения к базе данных.
Смотрите также
- 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: с оператором, в MSDN
- ^ Функция GetRef, в MSDN
- ^ Visual Basic Scripting Edition: Коллекция подсовпадений, в MSDN
- ^ А как насчет VBScript?, в статье Знакомство с JScript .NET Эндрю Клиник из Microsoft Corporation, в Scripting Clinic на MSDN (14 июля 2000 г.)
- ^ Представляем компоненты сценария Windows, в MSDN
- ^ «Возможности VBScript». msdn.microsoft.com.
- ^ «Как остановить запуск элемента ActiveX в Internet Explorer». Microsoft. 2007-08-24. Получено 2009-06-29.
- ^ «Рекомендации по безопасности Microsoft (960715): накопительный пакет обновления для битов блокировки ActiveX». Microsoft. 2009-01-17. Получено 2009-06-29.
- ^ Компонент скрипта "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. Получено 2018-09-24.
внешняя ссылка
- VBScript мертв?
- VBScript в сети разработчиков Microsoft
- Документация по Windows Script 5.6
- VBScript @ codewiki
- VBScript @ stealthbot
- Обзор WMI, Microsoft TechNet