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

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

Шрифт:

ss+=RusDict.Item(s.charAt(i));

else ss+=s.charAt(i);

 }

 return ss;

}

/************* Начало *********************************************/

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

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

//Запускаем дочернее приложение

theJob = WshShell.Exec("cscript");

IsBreak=false;

for (;;) {

 if (!theJob.StdOut.AtEndOfStream)

//Считываем всю информацию, находящуюся в потоке StdOut

//дочернего процесса

s+=theJob.StdOut.ReadAll;

 if (IsBreak) break;

 if (theJob.status==1) //Проверяем, не завершилась ли запущенная задача

IsBreak=true;

 else WScript.Sleep(100);

}

//Преобразуем сформированные строки в Windows-кодировку

//и выводим их на экран

WScript.Echo(DosToWin(s));

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

Таким образом, можно с помощью метода Exec запустить утилиту командной строки, передавать ей нужную входную информацию с помощью свойства StdIn и с помощью свойства StdOut получать и анализировать выдаваемые этой утилитой строки (соответствующие примеры приведены также в листингах 2.37 и 2.38).

Объект WshController

Объект

WshController
имеет единственный метод
CreateScript
и предназначен для создания объекта-сценария на удаленной машине.

Замечание

В силу соображений безопасности удаленные сценарии можно запускать только с машин, на которых установлена операционная система Windows NT/2000/XP; то же самое требование предъявляется к машинам, на которых должны выполняться такие сценарии. Кроме этого, после начальной установки WSH по умолчанию выполнение удаленных сценариев запрещено; действия, которые необходимо произвести для разрешения выполнения таких сценариев, описаны в главе 2.

Создается объект WshController следующим образом:

var WshController=WScript.CreateObject("WshController");

Замечание

Обратите внимание, что для объекта

WshController
программным идентификатором (ProgID) является именно строка "
WshController
", а не строка "
WScript.WshController
", как указано в бета-версии документации на WSH 5.6.

Метод

CreateScript
возвращает указатель на объект
WshRemote
, с помощью которого можно контролировать состояние удаленного сценария и управлять его выполнением. При выполнении этого метода WSH последовательно производит следующие действия:

подготавливает файл со сценарием для пересылки на удаленную станцию;

с помощью протокола DCOM создает экземпляр объекта

WshRemote
на удаленной машине;

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

Execute
объекта
WshRemote
.

Синтаксис метода

CreateScript
:

CreateScript(CommandLine, [MachineName])

Параметр

CommandLine
содержит командную строку для запуска сценария, который должен быть выполнен на удаленной станции. Путь к сценарию должен быть указан относительно локальной машины, а не относительно той станции, на которой должен выполняться сценарий. Чаще всего этот путь указывает на файл, находящийся непосредственно на локальном компьютере, хотя можно указать путь к сценарию, записанному на каком-либо общем сетевом ресурсе (это делает возможным, работая на одном компьютере, загружать сценарий с другого и выполнять этот сценарий на третьем компьютере в сети).

Второй необязательный параметр

MachineName
задает имя компьютера, на котором должен быть запущен сценарий. Если этот параметр не указан, то сценарий будет выполняться на локальной машине.

Объект WshRemote

Объект

WshRemote
необходим для контроля состояния сценариев, которые запущены на удаленной машине. В результате запуска такого сценария на удаленной машине создается процесс, поэтому можно сказать, что экземпляром объекта
WshRemote
, соответствующего выполняющемуся сценарию, является процесс. Создается
WshRemote
с помощью метода
CreateScript
объекта
WshController
:

var Controller,RemoteScript;

Controller=WScript.CreateObject("WshController");

RemoteScript=Controller.CreateScript("d: WscriptsWMyScript.js", "Server1");

Объект

WshRemote
имеет два свойства:
Error
и
Status
.

В свойстве

Error
хранится ссылка на объект
WshRemoteError
, который содержит информацию об ошибке, приведшей к аварийному завершению работы удаленного сценария.

  • Читать дальше
  • 1
  • ...
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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