Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.



Главная
Все книги
Назад
Читать: Windows Script Host для Windows 2000/XP - Андрей Владимирович Попов на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

cscript С:\Script\First.js

В результате выполнения этого сценария в командное окно выведется строка "Привет!" (рис. 1.3). 


Рис. 1.3. Результат выполнения First.js в консольном режиме (cscript.exe)

Запуск сценария из командной строки в графическом режиме

Сценарий можно выполнить из командной строки с помощью (оконной) графической версии WSH wscript.exe. Для нашего примера в этом случае нужно выполнить команду

wscript C:\Script\First.js

Тогда в результате выполнения сценария на экране появится нужное нам диалоговое окно (рис. 1.4).

Таким образом, мы видим, что при запуске сценария в консольном режиме вывод текстовой информации происходит в стандартный выходной поток (на экран), при запуске в графическом режиме — в диалоговое окно.


Рис. 1.4. Результат выполнения First.js в графическом режиме (wscript.exe) 

Запуск сценария с помощью меню Пуск

Для запуска сценария с помощью пункта Выполнить (Run) меню Пуск (Start), достаточно написать полное имя этого сценария в поле Открыть (Open) (рис. 1.5). 


Рис. 1.5. Запуск сценария из меню Пуск в Windows ХР

В этом случае по умолчанию сценарий будет выполнен с помощью wscript.exe, т.е. вывод информации будет вестись в графическое диалоговое окно.

Запуск сценария с помощью Проводника Windows (Windows Explorer)

Самым простым является запуск сценария в окнах Проводника Windows или на рабочем столе — достаточно просто выполнить двойной щелчок мышью на имени файла со сценарием или на его значке (рис. 1.6).


Рис. 1.6. Запуск сценария с помощью Проводника Windows

При этом, как и в случае запуска с помощью меню Пуск (Start), сценарий по умолчанию выполняется с помощью wscript.exe.

Установка и изменение свойств сценариев

В случае необходимости для сценариев можно задавать различные параметры, влияющие на ход их выполнения. Для консольной (cscript.exe) и графической (wscript.exe) версий сервера сценариев эти параметры задаются по-разному.

Свойства и параметры сценариев, выполняемых с помощью cscript.exe

В этом случае исполнение сценария контролируется с помощью параметров командной строки для cscript.exe (табл. 1.1), которые включают или отключают различные опции WSH (все эти параметры начинаются с символов //).

Таблица 1.1. Параметры командной строки cscript.exe

Параметр Описание
//I Выключает пакетный режим (по умолчанию). При этом на экран будут выводиться все сообщения об ошибках в сценарии
//B Включает пакетный режим. При этом на экран не будут выводиться никакие сообщения
//Т:nn Задает тайм-аут в секундах, т.е. сценарий будет выполняться nn секунд, после чего процесс прервется. По умолчанию время выполнения не ограничено
//Logo Выводит (по умолчанию) перед выполнением сценария информацию о версии и разработчике WSH
//Nologo Подавляет вывод информации о версии и разработчике WSH
//H:CScript или //H:Wscript Делает cscript.ехе или wscript.exe приложением для запуска сценариев по умолчанию. Если эти параметры не указаны, то по умолчанию подразумевается wscript.exe
//S Сохраняет установки командной строки для текущего пользователя
//? Выводит встроенную подсказку для параметров командной строки
//E:engine Выполняет сценарий с помощью модуля, заданного параметром engine
//D Включает отладчик
//X Выполняет программу в отладчике
//Job:<JobID> Запускает задание с индексом JobID из многозадачного WS-файла (структура WS-файлов будет описана в главе 3)
//U Позволяет использовать при перенаправлении ввода/вывода с консоли кодировку Unicode

Например, команда

cscript //Nologo C:\Script\First.js

запустит сценарий First.js без информации о версии WSH (рис. 1.7).

Сценарий можно запускать с параметрами командной строки, которые указываются после имени этого сценария (процедура обработки таких параметров будет описана ниже, при рассмотрении объектов WshArguments, WshNamed и WshUnnamed). Например, команда

cscript //В C:\Script\First.js /а /b

запустит сценарий First.js в пакетном режиме, при этом /а и /b будут являться параметрами этого сценария, а //B — параметром приложения cscript.exe.


Рис. 1.7. Результат выполнения First.js в консольном режиме без информации о версии WSH

Свойства и параметры сценариев, выполняемых с помощью wscript.exe

При использовании для запуска модуля wscript.exe свойства сценария можно устанавливать с помощью вкладки Сценарий (Script) диалогового окна, задающего свойства файла в Windows (рис. 1.8).

После задания свойств сценария автоматически создается файл с именем этого сценария и расширением wsh, который имеет структуру наподобие ini-файла, например:

[ScriptFile]

Path=C:\Script\First.js

[Options]

Timeout=0

DisplayLogo=1

Если дважды щелкнуть в Проводнике Windows по wsh-файлу или запустить такой файл из командной строки, то соответствующий сервер сценариев (wscript.exe или cscript.exe) запустит сценарий, которому соответствует wsh- файл, с заданными в секции Options параметрами.

Замечание 

Если wsh-фaйл не запускается, нужно проверить наличие на диске файла, указанного в секции ScriptFile.


Рис. 1.8. Установка свойств сценария First.js

При запуске сценариев с помощью wscript.exe для задания параметров командной строки сценария можно использовать технологию drag-and-drop — если выделить в Проводнике Windows несколько файлов и перетащить их на ярлык сценария, то этот сценарий запустится, а имена выделенных файлов передадутся ему в качестве параметров.

Стандартные объекты WSH5.6

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

□ выводить информацию в стандартный выходной поток (на экран) или в диалоговое окно Windows;

□ читать данные из стандартного входного потока (т. е. вводить данные с клавиатуры) или использовать информацию, выводимую другой командой;

□ использовать свойства и методы внешних объектов, а также обрабатывать события, которые генерируются этими объектами;

□ запускать новые независимые процессы или активизировать уже имеющиеся;

□ запускать дочерние процессы с возможностью контроля их состояния и доступа к их стандартным входным и выходным потокам;

□ работать с локальной сетью: определять имя зарегистрировавшегося пользователя, подключать сетевые диски и принтеры;

□ просматривать и изменять переменные среды;

□ получать доступ к специальным папкам Windows;

□ создавать ярлыки Windows;

□ работать с системным реестром.

В WSH 5.6 входят перечисленные ниже объекты:

□ WScript. Это главный объект WSH, который служит для создания других объектов или связи с ними, содержит сведения о сервере сценариев, а также позволяет вводить данные с клавиатуры и выводить информацию на экран или в окно Windows.

□ WshArguments. Обеспечивает доступ ко всем параметрам командной строки запущенного сценария или ярлыка Windows.

□ WshNamed. Обеспечивает доступ к именным параметрам командной строки запущенного сценария.

□ WshUnnamed. Обеспечивает доступ к безымянным параметрам командной строки запущенного сценария.

□ WshShell. Позволяет запускать независимые процессы, создавать ярлыки, работать с переменными среды, системным реестром и специальными папками Windows.

□ WshSpecialFolders. Обеспечивает доступ к специальным папкам Windows.

□ WshShortcut. Позволяет работать с ярлыками Windows.

□ WshUrlShortcut. Предназначен для работы с ярлыками сетевых ресурсов.

□ WshEnvironment. Предназначен для просмотра, изменения и удаления переменных среды.

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

□ WshScriptExec. Позволяет запускать консольные приложения в качестве дочерних процессов, обеспечивает контроль состояния этих приложений и доступ к их стандартным входным и выходным потокам.

□ WshController. Позволяет запускать сценарии на удаленных машинах.

□ WshRemote. Позволяет управлять сценарием, запущенным на удаленной машине.

□ WshRemoteError. Используется для получения информации об ошибке, возникшей в результате выполнения сценария, запущенного на удаленной машине.

Кроме этого, имеется объект FileSystemObject, обеспечивающий доступ к файловой системе компьютера (этот объект будет подробно описан в главе 5).

Перейдем теперь к рассмотрению свойств и методов внутренних объектов WSH.

Замечание

Примеры всех сценариев, приведенных далее в этой главе, написаны на JScript. Так как эти сценарии только иллюстрируют свойства и методы WSH и не используют особенностей, характерных только для JScript, перевод их на VBScript не представляет никакого труда.

Объект WScript

Свойства объекта WScript позволяют получить полный путь к использующемуся серверу сценариев (wscript.exe или cscript.exe), параметры командной строки, с которыми запущен сценарий, режим его работы (интерактивный или пакетный). Кроме этого, с помощью свойств объекта WScript можно выводить информацию в стандартный выходной поток и читать данные из стандартного входного потока. Также WScript предоставляет методы для работы внутри сценария с объектами автоматизации и вывода информации на экран (в текстовом режиме) или в окно Windows.

Отметим, что в сценарии WSH объект WScript можно использовать сразу, без какого-либо предварительного описания или создания, т. к. его экземпляр создается сервером сценариев автоматически. Для использования же всех остальных объектов нужно применять либо метод CreateObject, либо определенное свойство другого объекта.

Свойства объекта WScript представлены в табл. 1.2.

Таблица 1.2. Свойства объекта WScript

Свойство Описание
Application Предоставляет интерфейс IDispatch для объекта WScript
Arguments Содержит указатель на коллекцию WshArguments, в которой находятся параметры командной строки для исполняемого сценария
FullName Содержит полный путь к исполняемому файлу сервера сценариев (в Windows ХР обычно это C:\WINDOWS\SYSTEM32\CSCRIPT.EXE или C:\WINDOWS\SYSTEM32\WSCRIPT.EXE)
Name Содержит название объекта Wscript (Windows Script Host)
Path Содержит путь к каталогу, в котором находится cscript.exe или wscript.exe (в Windows ХР обычно это C:\WINDOWS\SYSTEM32)
ScriptFullName Содержит полный путь к запущенному сценарию
ScriptName Содержит имя запущенного сценария
StdErr Позволяет запущенному сценарию записывать сообщения в стандартный поток для ошибок
StdIn Позволяет запущенному сценарию читать информацию из стандартного входного потока
StdOut Позволяет запущенному сценарию записывать информацию в стандартный выходной поток
Version Содержит версию WSH

Опишем более подробно те свойства объекта WScript, которые требуют дополнительных пояснений.

Свойство Arguments

В следующем примере (листинг 1.1) с помощью цикла for на экран выводятся все параметры командной строки, с которыми был запущен сценарий.

Листинг 1.1. Вывод на экран всех параметров сценария

/*******************************************************************/

/* Имя: ShowArgs.js                                                */

/* Язык: JScript                                                   */

/* Описание: Вывод на экран параметров запущенного сценария        */



Поделиться книгой:



Регистрация