Студопедия

КАТЕГОРИИ:

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

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




 

Для запуска сценариев, в составе WindowsScriptingHost служат файлы 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.

 


Объекты WindowsScriptingHost

 

В работе 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.EchoWScript.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.EchoWScript.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

SetWshShell = 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 является его возможность закрываться по истечении заданного времени.

DimInterval, 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; просмотров: 403.

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