Windows Script Host для Windows 2000/XP
Шрифт:
//Создаем сценарий на удаленной машине (объект WshRemote)
RemScript = Controller.CreateScript("D:\\RemoteScript.js", "stand");
RemScript.Execute; //Запускаем удаленный сценарий
WScript.Echo("Удаленный сценарий запущен");
while (RemScript.Status != 2)
//Цикл выполняется до завершения удаленного сценария
WScript.Sleep(100); //Приостанавливаем сценарий на 0,1 сек
WScript.Echo("Выполнение удаленного сценария завершено");
/************* Конец *********************************************/
В листинге 2.54 приведен аналог сценария RunRemoteScript.js на языке VBScript.
Листинг 2.54. Запуск удаленного сценария (VBScript)
'********************************************************************
' Имя: RunRemoteScript.vbs
' Язык: VBScript
' Описание: Запуск удаленного сценария
'********************************************************************
Option Explicit
Dim Controller, RemScript ' Объявляем переменные
' Создаем объект WshController
Set Controller = WScript.CreateObject("WshController")
' Создаем сценарий на удаленной машине (объект WshRemote)
Set RemScript = Controller.CreateScript("D:\\RemoteScript.js", "stand")
RemScript.Execute ' Запускаем удаленный сценарий
WScript.Echo "Удаленный сценарий запущен"
While RemScript.Status <> 2
' Цикл выполняется до завершения удаленного сценария
WScript.Sleep 100 ' Приостанавливаем сценарий на 0,1 сек
Wend
WScript.Echo "Выполнение удаленного сценария завершено"
'************* Конец *********************************************
Контролировать ход выполнения удаленных сценариев можно не только путем анализа свойства
Status
, но и с помощью обработки событий Start
(запуск сценария), Error
(ошибка при выполнении сценария) и End
(завершение работы сценария) объекта WshRemote; соответствующие примеры сценариев на языках JScript и VBScript приведены в листингах 2.55 и 2.56. Напомним, что для обработки событий объекта нужно в сценарии сначала создать экземпляр этого объекта, а затем соединиться с ним при помощи метода
ConnectObject
, указав нужный префикс для функций-обработчиков: Controller = WScript.CreateObject("WshController");
RemScript = Controller.CreateScript("D:\\RemoteScript.js ", "stand");
WScript.ConnectObject(RemScript, "RemoteScript_");
Затем в тексте сценария описываются функции
RemoteScript_Start
, RemoteScript_Error
и RemoteScript_End
, управление в которые будет передаваться при наступлении соответствующих событий. Листинг 2.55. Обработка событий объекта
WshRemote
(JScript)/**********************************************************************/
/* Имя: RemoteEvents.js */
/* Язык: JScript */
/* Описание: Обработка событий, возникающих при выполнении удаленного */
/* сценария */
/**********************************************************************/
var Controller,RemScript,IsQuit; //Объявляем переменные
//Создаем объект WshController
Controller = WScript.CreateObject("WshController");
//Создаем сценарий на удаленной машине (объект WshRemote)
RemScript = Controller.CreateScript("D:\\RemoteScript.js ", "stand");
//Устанавливаем соединение с объектом WshRemote
WScript.ConnectObject(RemScript, "RemoteScript_");
RemScript.Execute; //Запускаем удаленный сценарий
IsQuit = false;
while (!IsQuit) WScript.Sleep(100); //Приостанавливаем сценарий на 0,1 сек
WScript.Quit; //Выходим из сценария
/*************** Функции-обработчики событий ***********************/
function RemoteScript_End { //Событие End
WScript.Echo("Выполнение удаленного сценария завершено");
IsQuit = true;
}
function RemoteScript_Error { //Событие Error
//Выводим на экран описание возникшей ошибки
WScript.Echo("Ошибка при выполнении удаленного сценария: " +
RemScript.Error.Description);
IsQuit = true;
}
function RemoteScript_Start { //Событие Start
WScript.Echo("Удаленный сценарий запущен");
}
/************* Конец *********************************************/
Поделиться:
Популярные книги
Вперед в прошлое 2
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Демон-хранитель
Фантастика:
фэнтези
мистика
5.20
рейтинг книги
Наномашины, демоненок! Том 3
3. Чего смотришь? Иди книгу читай
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
На границе империй. Том 7. Часть 5
11. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Страж Тысячемирья
5. Страж
Фантастика:
боевая фантастика
альтернативная история
фэнтези
5.00
рейтинг книги
Последний Паладин. Том 6
6. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ученик
2. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Последний Герой. Том 2
2. Последний герой
Фантастика:
попаданцы
альтернативная история
4.50
рейтинг книги
Черный маг императора
1. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Сотник
4. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Жизнь, которой не было
1. Жизнь, которой не было
Фантастика:
городское фэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Цикл "Отмороженный". Компиляция. Книги 1-14
Отмороженный
Фантастика:
боевая фантастика
рпг
постапокалипсис
5.00
рейтинг книги
Викинг
1. Викинг
Приключения:
исторические приключения
8.92
рейтинг книги
Хозяин Теней 3
3. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00