RusDict.add("к", "ъ"); RusDict.add("л", "ы"); RusDict.add("м", "ь");

 RusDict.add("н", "э"); RusDict.add("о", "ю"); RusDict.add("п", "я");

}

//Функция для перевода строки из DOS- в Windows-кодировку

function DosToWin(s) {

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

 //Проверяем, создан ли объект RusDict

 if (typeof(RusDict)=="undefined")

  //Если объект RusDict не создан, создаем его

  MakeRusDict();

 ss="";

 for (i=0;i

  if (RusDict.Exists(s.charAt(i)))  //Проверяем наличие символа в словаре

   //Преобразуем i-й символ в Windows-кодировку

   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).

<p>Объект<emphasis> WshController</emphasis></p>

Объект 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.

Перейти на страницу:

Похожие книги