Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Объекты Windows Scripting Host




Лабораторная работа №4

Сервер сценариев Windows Scripting Host. Методы объектов WscriptShell и WshNetwork

Цель: Овладеть навыками работы сервером сценариев ОС Windows, изучить возможности сервера сценариев, режимы выполнения сценариев и методы объекта WscriptShell иWshNetwork.

 

Общие положения

Долгое время для выполнения однотипных задач в среде Windows и DOS служили командные (пакетные) BAT-файлы. Основным их недостатком были примитивный DOS-интерфейс – отсутствие интерактивности, и довольно ограниченные возможности по работе с WINDOWS (трудность работы в сети, с ярлыками, с реестром и т.д.).

Ситуация изменилась, когда Microsoft разработала Сервер Сценариев (Windows Scripting Host), который должен служить для автоматизации работы с повторяющимися процессами. Сам Windows Scripting Host не является языком как таковым, он только представляет свойства и методы для работы в Windows, которые могут использоваться другими языками сценариев. Наиболее удобными и предназначенными для этого явились ранее разработанные самой Microsoft языки сценариев Visual Basic Scripting Edition (VBScript) и JScript.

Раньше языки VBScript и JScript по своим возможностям были очень близки к Visual Basic for Applications - они также могли быть вызваны только из MS Internet Explorer и нескольких других программ Microsoft, которые их поддерживали.

С появлением Windows Scripting Host появилась возможность создавать для них отдельные сценарии, которые можно запускать и без Internet Explorer.

Также преимуществом Windows Scripting Host является то, что для запуска сценариев требуется мало памяти и то, что файлы сценариев могут быть практически любого размера (содержать десятки тысяч строк).

Еще одним преимуществом Windows Scripting Host является отсутствие среды разработки - не нужны компиляторы, редактирование сценариев может производиться в любом текстовом редакторе, способном работать с текстовыми файлами.

Сервер сценариев предназначен для автоматизации повторяющихся задач и во многом, по сравнению с обычными языками программирования, обладает достаточно скромными возможностями. Но по сравнению с пакетными файлами DOS он обладает более широкими возможностями. Такими как:

- вывод сообщений на экран;

- запуск других программ;

- работать с сетевыми дисками;

- устанавливать принтеры;

- работать с переменными среды;

- работать с реестром.

В Windows 2000 и последующих версиях Windows Scripting Host установлен по умолчанию. Отключить его использование можно только удалением ассоциаций с его файлами. Установленный Windows Script Host поддерживает несколько видов файлов: vbs, vbe, js, jse, wsf, wsc и wsh. Все они (кроме vbe и jse) являются простыми текстовыми файлами и могут редактироваться в любом текстовом редакторе.

Файлы .vbs и .js являются файлами, написанными на языке сценариев MS Visual Basic Script и MS JScript соответственно.

Файлы vbe и jse– это vbs и js-файлы зашифрованные с помощью программы MS Script Encoder.

Файлы с расширением .wsf – это файлы, содержащие XML-разметку для работы с WSH.

Файлы wsc - Windows Script Components (WSC) позволяют упаковывать сценарии для использования их в качестве СОМ-компонентов. По сути, это те же wsf-файлы, еще и содержащие COM-компоненты.

Файлы wsh  являются файлами настроек Сервера Сценариев.

 

Запуск сценариев (WScript.exe и CScript.exe)

Для запуска сценариев, в составе Windows Scripting Host служат файлы WScript.exe (диалоговый режим) и CScript.exe (режим командной строки). Они находятся в каталоге C:\WINDOWS\system32\.

WScript.exe служит для запуска сценариев из Windows. Используя его, вы можете запускать сценарии подобно обычным приложениям Windows. Вот несколько способов:

1. Запускать сценарий, как обычное приложение двойным щелчком мыши, выделить и нажать Enter и т.д.

2. Ввести имя файла сценария и путь к нему в окне в окне “Выполнить” (RUN) меню “Пуск” (Start).

3. Ввести в строку окна “Выполнить” WScript.exe и имя файла сценария (с указанием пути к нему). При этом вы можете использовать параметры запуска WScript.exe.

 

CScript.exe - это версия Windows Scripting Host, которая используется для запуска сценариев из командной строки.

Синтаксис:

CScript [параметры] имя_файла.расширение [аргументы]

Для запуска сценариев, как с помощью CScript.exe так и с WScript.exe, можно использовать следующие параметры командной строки:

Параметр Версия WSH Описание
//B 1.0 Пакетный режим (подавляется вывод информации, запросов и сообщений об ошибках)
//D 2.0 Включить активную отладку
//E:язык 2.0 Указать язык сценария для исполнения файла
//H:CScript 1.0 Заменить исполняемый сервер сценариев на CScript.exe
//H:WScript 1.0 Заменить исполняемый сервер сценариев на WScript.exe
//I 1.0 Диалоговый режим (противоположный //B) (по умолчанию)
//Job:xxxx 2.0 Выполнить задание xxxx WSF-файла
//Logo 1.0 Отображать заставку (по умолчанию)
//Nologo 1.0 Не выводить заставку
//S 1.0 Запомнить параметры текущей командной строки для данного пользователя
//T:nn 1.0 Задать время исполнения сценария в секундах
//X 2.0 Выполнить сценарий под отладчиком
//U 2.0 Применять кодировку Unicode для перенаправленного консольного ввода-вывода


Например:

Cscript //T:10 Пример1.vbs

Отвести на выполнение сценария Пример1.vbs 10 секунд времени.

Попробуем сделать используемым сервером сценариев по умолчанию CScript.exe.

Для этого введем в командной строке:

wscript //h:cscript

С этого момента, все сценарии будут запускаться в режиме командной строки. Для многих сценариев выводящих информацию это будет несколько неудобно.

Попробуем снова запустить сценарий VBScript Пример1.vbs.

Прочитать надпись практически невозможно, поскольку окно быстро “промелькнет” на экране.

Чтобы снова сделать сервером по умолчанию WScript.exe, введем в командную строку:

wscript //h:wscript

И снова запускаемые файлы сценариев по умолчанию запускаются в диалоговом режиме.

Какой способ лучше, нельзя сказать однозначно. У каждого есть свои плюсы и минусы. В пользу WScript.exe говорит его интерактивность. В пользу CScript.exe – незаметность для пользователя. Хотя для незаметности лучше всего включить пакетный режим с параметром //b.

 


Объекты Windows Scripting Host

В работе WSH используются 9 объектов: WScript (не путать с WScript.exe), WshArguments, WshEnvironment, WshNetwork, WshShell, WshShortcut, WshSpecialFolders, WshUrlShortcut и FileSystemObject.

Объект WScript является главным объектом Windows Script Host. Он служит для создания объектов и выполняет служебные задачи связанные с ними, содержит сведения о сервере сценариев и о запущенных сценариях.

Объект WshArguments служит для работы с аргументами среды

WshEnvironment – работает переменными среды.

WshNetwork – используется при работе с сетевым окружением: содержит информацию для сети о данном компьютере, позволяет подключать сетевые принтеры и диски.

WshShell – служит для работы с переменными среды Windows, запускает другие программы, работает с реестром и т.д.

WshShortcut – создает ярлыки.

WshSpecialFolders – используется для доступа к специальным папкам Windows, таким как меню Пуск, Рабочий стол, Мои документы и т.д.

WshUrlShortcut – еще один объект для создания ссылок, но обладающий более ограниченными возможностями, чем WshShortcut.

Особняком стоит FileSystemObject объект. Как таковой он не является объектом WSH и дочерним объектом WScript, но занимает важное место в создании сценариев используясь для работы с файлами.

Объект TextStream используется для работы с содержанием текстовых файлов.

 

Из всех вышеперечисленных объектов можно выделить 4 главных:WScript, WshShell, WshNetwork и FileSystemObject. Остальные же являются их объектами, созданными для удобства, дублируя некоторые их возможности.

Перед использованием всех объектов (кроме WScript) нужно создать их экземпляр. Для этого используется метод CreateObject, объекта WScript.

Например, объект WshShell создается следующим образом:

Set WshShell = CreateObject(“WScript.Shell”)

Свойства объекта WScript

Объект WScipt содержит информацию о сервере сценариев и о самих, исполняемых файлах сценариев.

Name – выводит надпись: “Сервер сценариев”

Пример

WScript.Echo WScript.Name

FullName – возвращает используемый сервер сценириев (CScript.exe или WScript.exe) и полный путь к нему.

Результат будет типа:

C:\WINDOWS\WSCRIPT.EXE

Path – возвращает путь к папке с файлами сервера сценариев (CScript.exe и WScript.exe).

Если Windows находится в папке Windows, то результат будет:

C:\WINDOWS

Version – показывает версию установленного сервера сценариев. Обратите внимание, что свойство Version возвращает не версию языка Windows Script Host, а версию его интерпретатора.

Например

WScript.Echo WScript.Version

Выдаст результат: (5.0 или, 5.1), где 5.0 соответствует версии Windows Scriptinh Host 1.0, а 5.1. версии 2.0.

ScriptName – выдает имя исполняемого файла сценария.

Timeout

Свойство Timeout устанавливает время, по истечении которого сценарий завершает свою работу.

Пример

WScript.Timeout = 5

WScript.Echo "Сценарий завершит работу через 5 секунд"

 

SrdErr, StdIn, StdOut - методы, предназначенные для ввода-вывода информации в режиме командной строки (CScript.exe).

 Interactive

Свойство Interactive показывает, используется ли диалоговый режим (WScript.exe), возвращая логический результат. А также может устанавливать или отключать диалоговый режим. При значении false - интерактивный режим отключается, т.е. диалоговые окна не могут использоваться.

Синтаксис:

WScript.Interactive[ = True|False]

 

Методы объекта WScript

CreateObject – создает экземпляр объекта ActiveX.

Синтаксис:

object.CreateObject(strProgID[,strPrefix])

где

object – объект WScript.

StrProgID – класс к которому принадлежит объект.

Например, создадим объект WshShell

Set WshShell = WScript.CreateObject(“WScript.Shell”)

ConnectObject – позволяет подключить исполняемый сценарий к существующему объекту, его событиям.

DisconnectObject – отключается от объекта, с которым был соединен сценарий методом ConnectObject.

GetObject – получает объект, который уже создан и находится в другом файле.

Echo – выводит диалоговое окно с сообщением пользователю. При использовании CScript.exe выводит строку с текстом.

Sleep – переводит сценарий в неактивное состояние, на заданное время (в миллисекундах), после чего продолжает его работу.

Quit – завершает работу сценария. Необязателен.

 

Windows Scripting Host имеет два вида диалоговых окон: простое (метод Echo) и управляющее (метод Popup)

Echo

Метод Echo объекта WScript отображает сообщение в диалоговом окне, если используется WScript.exe, или выводит строку с текстом, если используется CScript.exe, по своим возможностям дублируя команду echo bat-файлов.

Синтаксис следующий:

object.Echo [[Arg1] [,Arg2] [,Arg3] ... ]

где

object - объект WScript.

Arg1, Arg2, Arg3 ... – данные, которые должны быть выведены на экран

Для перевода строки используется константа vbCrLf.

Например

Wscript.Echo "Это", vbCrLf, "пример"

Wscript.Echo "Это"& vbCrLf& "пример"

 

Popup

Управляющее окно Popup имеет те же возможности вывода информации, что и окно созданное с помощью метода Echo, но вдобавок ко всему обладает дополнительными возможностями, расширяющими его возможности и сферу его применения. Метод Popup, является методом объекта WshShell, и для его использования должен быть создан объект WshShell.

Синтаксис:

intButton = object.Popup(strText,[WaitSec],[strTitle],[natType])

где

object - объект WshShell

strText - само сообщение в данном окне

WaitSec - время (в секундах), по истечении которого окно закроется

strTitle - заголовок окна. Если отсутствует, то заголовок окна будет по умолчанию "Сервер сценариев".

natType - параметр определяющий картинку и кнопку в данном окне.

 

Значение Кнопки
0 OK
1 OK и Отмена(Cancel)
2 Стоп(Abort), Повтор(Retry), и Пропустить(Ignore)
3 Да(Yes),Нет(No), и Отмена(Cancel)
4 Да(Yes) и Нет(No)
5 Повтор(Retry) и Отмена(Cancel)

 

Параметры определяющие рисунок:

 

Значение Рисунок
16 Важное сообщение
32 Вопрос
48 Предупреждение
64 Информация

При закрытии окно popup возвращает значение intButton – которое содержит информацию о том, какая кнопка была нажата.

Значения выбранных кнопок:

Значения Нажатая кнопка
1 OK
2 Отмена (Cancel)
3 Стоп (Abort)
4 Повтор (Retry)
5 Пропустить (Ignore)
6 Да (Yes)
7 Нет (No)

 

Интересной особенностью окна popup является его возможность закрываться по истечении заданного времени.

Dim Interval, WshShell

'устанавливаем время через которое окно закроется:

Interval = 5

'создаем объект WshShell для метода Popup:

Set WshShell = CreateObject("WScript.Shell")

WshShell.Popup "Это окно закроется через 5 секунд",Interval,_

"Окно Popup", 48

В сценариях VBScript, кроме использования диалоговых окон Windows Script Host может использовать свои собственные диалоговые окна: MsgBox (окно вывода информации) и InputBox (окно ввода информации). Параметры, используемые в данных функциях, аналогичны применыемым в языке VBA.

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 238.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...