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

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

Шрифт:

Для примера рассмотрим сценарий RemoteShortcut.js (листинг 2.52), который создает ярлык в специальной папке AllUserDesktop (рабочий стол для всех пользователей). Предположим, что этот сценарий находится в корневом каталоге диска D:, а запустить сценарий необходимо на компьютере \\Stand.

Листинг 2.52. Сценарий для запуска на удаленной машине (JScript)

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

/* Имя: RemoteShortcut.js */

/* Описание: Создание ярлыка на рабочем столе */

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

var WshShell,MyShortcut,PathTarg,PathShortcut;

//Создаем объект WshShell

WshShell = WScript.CreateObject("WScript.Shell");

//Определяем путь к папке "AllUsersDesktop" (рабочий стол

//всех пользователей)

PathShortcut = WshShell.SpecialFolders("AllUsersDesktop");

//Создаем объект-ярлык

MyShortcut = WshShell.CreateShortcut(PathShortcut+ "\\From Remote WSH.lnk");

//Устанавливаем путь к файлу

PathTarg=WshShell.ExpandEnvironmentStrings("%windir%\\notepad.exe");

MyShortcut.TargetPath = PathTarg;

MyShortcut.Save; //Сохраняем ярлык

/************* Конец *********************************************/

Для запуска сценария RemoteShortcut.js на удаленном компьютере \\Stand нужно создать другой сценарий RunRemoteScript.js (листинг 2.53). Здесь вначале создается объект

WshController
:

Controller = WScript.CreateObject("WshController");

Затем мы получаем ссылку на экземпляр объекта

WshRemote
на машине \\Stand, соответствующий сценарию с текстом, взятым из файла D:\RemoteScript.js:

RemScript = Controller.CreateScript("D:\\RemoteScript.js", "stand");

Запускается удаленный сценарий с помощью метода

Execute
:

RemScript.Execute;

После этого нужно дождаться окончания работы сценария на удаленной машине, что делается путем контроля в цикле

while
свойства
Status
объекта
WshRemote
(значение свойства status, равное 2, говорит о том, что выполнение удаленного сценария завершено):

while (RemScript.Status != 2)

 //Цикл выполняется до завершения удаленного сценария

 WScript.Sleep(100); //Приостанавливаем сценарий на 0,1 сек

Метод

Sleep
объекта
WScript
вызывается в цикле для того, чтобы освободить процессор во время ожидания завершения удаленного сценария (листинг 2.53).

Листинг 2.53. Запуск удаленного сценария (JScript)

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

/* Имя: RunRemoteScript.js */

/* Язык: JScript */

/* Описание: Запуск удаленного сценария */

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

var Controller, RemScript; //Объявляем переменные

//Создаем объект WshController

Controller = WScript.CreateObject("WshController");

//Создаем сценарий на удаленной машине (объект 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

  • Читать дальше
  • 1
  • ...
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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