Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

//Функция для создания объекта Dictionary с парами "ключ-значение", где

//"ключ"-буква в DOS-кодировке, "значение"- символ, соответствующий этой

//букве в Windows-кодировке

function MakeRusDict {

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

 RusDict = WScript.CreateObject("Scripting.Dictionary");

 //Заполняем пары "ключ" (символ в DOS-кодировке)- "значение" (символ в

 //Window-кодировке)
для всех букв русского алфавита

 RusDict.add("Ђ", "А"); RusDict.add("Ѓ", "Б"); RusDict.add("‚", "В");

 RusDict.add("ѓ", "Г"); RusDict.add("„", "Д"); RusDict.add("…", "Е");

 RusDict.add("р", "Ё"); RusDict.add("†", "Ж"); RusDict.add("‡", "З");

 RusDict.add("€", "И"); RusDict.add("‰", "Й"); RusDict.add("Љ", "К");

 RusDict.add("‹", "Л"); RusDict.add("Њ", "М"); RusDict.add("Ќ", "Н");

 RusDict.add("Ћ", "О"); RusDict.add("Џ", "П"); RusDict.add("ђ", "Р");

 RusDict.add("‘", "С"); RusDict.add("’", "Т"); RusDict.add("“", "У");

 RusDict.add("”", "Ф"); RusDict.add("•", "Х"); RusDict.add("–", "Ц");

 RusDict.add("—", "Ч"); RusDict.add("", "Ш"); RusDict.add("™", "Щ");

 RusDict.add("љ", "Ъ"); RusDict.add("›", "Ы"); RusDict.add("њ", "Ь");

 RusDict.add("ќ", "Э"); RusDict.add("ћ", "Ю"); RusDict.add("џ", "Я");

 RusDict.add(" ", "а"); RusDict.add("Ў", "б"); RusDict.add("ў", "в");

 RusDict.add("Ј", "г"); RusDict.add("¤", "д"); RusDict.add("Ґ", "е");

 RusDict.add("с", "ё"); RusDict.add("¦", "ж"); RusDict.add("§", "з");

 RusDict.add("Ё", "и"); RusDict.add("©", "й"); RusDict.add("Є", "к");

 RusDict.add("«", "л"); RusDict.add("¬", "м"); RusDict.add("­", "н");

 RusDict.add("®", "о"); RusDict.add("Ї", "п"); RusDict.add("а", "р");

 RusDict.add("б", "с"); RusDict.add("в", "т"); RusDict.add("г", "у");

 RusDict.add("д", "ф"); RusDict.add("е", "х"); RusDict.add("ж", "ц");

 RusDict.add("з", "ч"); RusDict.add("и", "ш"); RusDict.add("й", "щ");

 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<s.length;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).

Объект WshController

Объект

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

Замечание

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

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

Московское золото и нежная попа комсомолки. Часть Третья

Хренов Алексей
3. Летчик Леха
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Московское золото и нежная попа комсомолки. Часть Третья

Князь Андер Арес 5

Грехов Тимофей
5. Андер Арес
Фантастика:
историческое фэнтези
фэнтези
героическая фантастика
5.00
рейтинг книги
Князь Андер Арес 5

Зеркало силы

Кас Маркус
3. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Зеркало силы

Локки 7. Потомок бога

Решетов Евгений Валерьевич
7. Локки
Фантастика:
аниме
эпическая фантастика
фэнтези
5.00
рейтинг книги
Локки 7. Потомок бога

Дважды одаренный. Том VIII

Тарс Элиан
8. Дважды одаренный
Фантастика:
боевая фантастика
альтернативная история
аниме
попаданцы
5.00
рейтинг книги
Дважды одаренный. Том VIII

Кодекс Охотника. Книга II

Винокуров Юрий
2. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
боевая фантастика
юмористическое фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга II

Ты - наша

Зайцева Мария
1. Наша
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Ты - наша

Егерь. Системный зверолов

Скиба Николай
1. Зверолов
Фантастика:
рпг
уся
фэнтези
фантастика: прочее
попаданцы
6.50
рейтинг книги
Егерь. Системный зверолов

Зодчий. Книга II

Погуляй Юрий Александрович
2. Зодчий Империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Зодчий. Книга II

Глубокий космос

Вайс Александр
9. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Глубокий космос

Как я строил магическую империю 3

Зубов Константин
3. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 3

Адептка второго плана

Мамаева Надежда Николаевна
Попасть в историю
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Адептка второго плана

Ярар. Начало

Грехов Тимофей
1. Ярар
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ярар. Начало

Законник Российской Империи

Ткачев Андрей Юрьевич
1. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Законник Российской Империи