Вход/Регистрация
Windows Script Host для Windows 2000/XP
вернуться

Попов Андрей Викторович

Шрифт:

Если нет необходимости проверять внутреннюю работу процедуры/функции пользователя, то нужно выбрать команду Debug|Step Over или нажать комбинацию клавиш <Shift>+<F8>. При этом данная процедура/функция выполнится без остановок и исполнение сценария остановится на следующем после нее операторе.

Команда Debug|Stop Debugging прерывает исполнение сценария и завершает процесс отладки.

Просмотр стека вызовов 

В отладчике можно вывести окно Call Stack со списком всех активных процедур и функций сценария. Для этого нужно выполнить команду View|Call Stack. Например, если вызвать это окно, находясь внутри функции

MyFunc
в сценарии ForDebug.js, то в списке мы увидим название функции
MyFunc
(рис. П3.29).

Рис. П3.29. Окно

Call Stack

Просмотр и изменение значений переменных

Получать и изменять текущие значения переменных или свойств объектов во время остановки исполнения сценария позволяет окно Command, которое вызывается командой View|Command Window. При этом анализ переменных в JScript- и VBScript-сценариях производится следующим образом.

Для просмотра значения переменной в JScript-сценарии нужно в окне Command набрать имя этой переменной и нажать <Enter>. Например, для того, чтобы увидеть значение переменной

s
в сценарии ForDebug.js, мы в окне Command вводим
s
и нажимаем <Enter> (рис. П3.30).

Чтобы вывести значение переменной в VBScript-сценарии, нужно в окне Command ввести имя этой переменной и поставить перед ним знак

?
. Например,

? s

Рис. П3.30. Просмотр значений переменных в окне

Для изменения значения переменной нужно просто присвоить новое значение этой переменной в окне Command (это относится и к JScript- и к VBScript-сценариям). Например,

s="Новое значение переменной s"
 

Приложение 4

Ошибки выполнения сценариев в WSH

Ошибки, которые могут возникнуть при выполнении сценариев WSH, вместе с описанием возможных причин их появления, приведены в табл. П4.1.

Таблица П4.1. Ошибки WSH 5.6

Сообщение об ошибке Причина
A duplicate name for a named or unnamed element was encountered: xxx Попытка повторного использования имени аргумента
Argument list too long Связано с запуском сценария при помощи технологии Drag-and-Drop: на файл сценария "опущено" слишком много параметров — имен файлов
Cannot write to wsh.log При вызове метода
LogEvent
в Windows 9х или Windows ME файл %windir%\wsh.log оказался заблокированным для записи
Can't save settings Ошибка при сохранении файла с настройками сценария (*.wsh)
Environment variable <name> could not be removed Вызов метода
Environment.Remove
для несуществующей переменной среды
Invalid attempt to call Exec without a command Вызов метода
WshShell.Exec
без указания аргумента (команды для выполнения)
Invalid shortcut path name Попытка создать ярлык с неправильным расширением файла (расширение должно быть lnk или url)
Printer <name> not found Неправильно указано имя принтера при вызове метода
SetDefaultPrinter
Protocol handler for <name> could not be found Попытка установить ярлык на сетевой ресурс, использующий некорректно зарегистрированный обработчик протокола
Registry key <name> contains invalid root Вызов метода
RegRead
или
RegWrite
для некорректного ключа реестра
Registry key <name> could not be opened Вызов метода
RegRead
для несуществующего ключа реестра
Registry key <name> could not be removed Вызов метода
RegDelete
для несуществующего ключа реестра
Remote script object can only be executed once Попытка повторно запустить объект — удаленный сценарий
Shortcut <name> contains invalid syntax Сохранение ярлыка на сетевой ресурс, имеющий некорректный URL
Shortcut <name> could not be saved Попытка сохранить новый ярлык в файле, который уже существует и имеет атрибут "Только для чтения"
Shortcut <name> failed to execute protocol handler Попытка установить ярлык на сетевой ресурс, использующий несуществующий обработчик протокола
Unable to execute remote script Невозможно создать процесс — удаленный сценарий
Unable to find job <job identifier> В WS-файле нет задания с идентификатором
<job identifier>
Unable to wait for process С помощью метода
Run
дано указание ожидать завершение процесса, которое из сценария определить нельзя

Приложение 5

Описание прилагаемой дискеты 

Большинство примеров сценариев, которые приведены в книге, содержатся на прилагаемой дискете. Примеры находятся в папках, названных в соответствии с нумерацией глав, к которым они относятся: \Chapter01, \Chapter02, …, \Chapter11 (табл. П5.1).

Таблица П5.1. Структура дискеты

Папки Содержание
\Chapter01 JScript- и VBScript-сценарии, которые иллюстрируют использование стандартных объектов WSH 5.6
\Chapter02 JScript- и VBScript-сценарии, которые иллюстрируют использование стандартных объектов WSH 5.6
\Chapter03 WS-файлы, в которых используются возможности XML-разметки
\Chapter04 Обычные (js, vbs и wsf) и зашифрованные (jse, vbe) сценарии, а также сценарии с цифровой подписью. Кроме этого, приведен пример административного шаблона wsh.adm, позволяющий запрещать/разрешать выполнение локальных или удаленных сценариев
\Chapter05 JScript-сценарии для работы с файловой системой и телефонной записной книжкой в текстовом файле book.txt
\Chapter06 JScript-сценарии для работы с телефонной записной книжкой в XML-файле book.xml
\Chapter07 JScript- и WS-файлы, с помощью которых организуются различные типы пользовательского интерфейса для работы с записной книжкой в XML-файле book.xml
\Chapter08 JScript- и WS-файлы, с помощью которых данные из записной книжки book.xml выводятся в файлы Microsoft Word (в том числе с использованием шаблона Table.dot) и Excel
\Chapter09 JScript- и WS-файлы, которые позволяют работать с записной книжкой в виде DBF-таблицы Phone.dbf, данные в которую копируются из XML-файла book.xml
\Chapter10 Примеры СОМ-объектов, написанных на языках JScript и VBScript (wsc-файлы), и JScript-сценарии RunArj.exe, использующий один из этих объектов
\Chapter11 JScript-сценарии, которые выводят различные системные диалоговые окна, а также иллюстрируют применение технологий ADSI и WMI для решения задач администрирования. Также приведены bat-файлы, которые можно использовать в качестве сценариев входа/выхода

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

Следует учесть, что перед запуском сценариев из папки \Chapter09 требуется предварительно настроить источник данных ODBC с именем PhoneDS (см. главу 9), а компоненты-сценарии из папки \Chapter10 следует зарегистрировать в системе (см. главу 10). Кроме этого, для корректной работы сценария \Chapter10\RunArj.exe необходимо наличие архиватора arj.exe.

Источники информации

Список литературы

1. Андерсон К. Сценарии Windows и управление системой // Windows 2000 Magazine/RE. 2002. № 5 .

2. Андерсон К. Сценарии WMI для начинающих // Windows 2000 Magazine/RE. 2001. № 5 .

3. Борн Г. Руководство разработчика на Microsoft Windows Script Host 2.0. Мастер-класс: Пер. с англ. — СПб.: Питер; М.: Издательско-торговый дом "Русская редакция", 2001. — 480 с.

4. Грабер М. Введение в SQL: Пер. с англ. — М.: Лори, 1996. — 379 с.

5. Кокорева О. И. Реестр Windows ХР. — СПб.: БХВ-Петербург, 2002. — 560 с.

6. Корнелл Г. Сценарии Windows для работы с файлами // PC Magazine. 1998. № 9 .

7. Мар-Элиа Д. Дополнительные рычаги управления Windows 2000 // Windows 2000 Magazine/RE. 2000. №5 .

8. Попов А. В. Командные файлы и сценарии Windows Script Host. — СПб.: БХВ-Петербург, 2002. — 320 с.

9. Рубенкинг Н. Дж. Сценарии Windows Scripting Host // PC Magazine/RE. 2001. № 6 .

  • Читать дальше
  • 1
  • ...
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: