Андрей Попов - Windows Script Host для Windows 2000/XP

Тут можно читать онлайн Андрей Попов - Windows Script Host для Windows 2000/XP - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство БХВ-Петербург, год 2004. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Windows Script Host для Windows 2000/XP
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2004
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94157-197-6
  • Рейтинг:
    3.8/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание

Windows Script Host для Windows 2000/XP - описание и краткое содержание, автор Андрей Попов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.

Windows Script Host для Windows 2000/XP - читать онлайн бесплатно полную версию (весь текст целиком)

Windows Script Host для Windows 2000/XP - читать книгу онлайн бесплатно, автор Андрей Попов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

□ заготовки функций с префиксами get_и put_, которые осуществляют чтение и запись свойств объекта;

□ заготовки функций, которые соответствуют объявленным в элементах методам.

Кроме этого, создается экземпляр внутреннего объекта, содержащего те же свойства и методы, что были описаны внутри элемента (переменная description). Имя этого внутреннего объекта совпадает с именем класса описываемого СОМ-объекта (в нашем случае это " DateArc").

Замечание

Создаваемый мастером внутренний объект нужен только в иллюстративных целях, т.к. здесь наглядно видно, какие именно свойства и методы будет предоставлять клиентам автоматизации компонент-сценарий. Если убрать из контейнера описание внутреннего объекта, это никак не скажется на функционировании объекта-сценария.

Доработка объекта-сценария DateArc.wsc (JScript)

Для получения нужного нам СОМ-объекта из сформированного с помощью Windows Script Component Wizard файла DateArc.wsc нужно выполнить несколько шагов.

Во-первых, для того, чтобы использовать внутри описания СОМ-объекта символы кириллицы, необходимо добавить в директиву аргумент encoding="windows-1251"(без этого в сценарии не удастся даже написать по-русски комментарии):

Во-вторых, в контейнер мы вставим элемент с двумя функциями Register()и Unregister(), которые будут выводить на экран диалоговые окна с соответствующей информацией при регистрации компонента-сценария и его отключении соответственно:

var WshShell;

//Инициализируем константы для диалоговых окон

var vbInformation=64;

function Register() {

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

WshShell = new ActiveXObject("WScript.Shell");

WshShell.Popup("Компонент зарегистрирован в системе",0,

"Компонент для архивирования файлов",vbInformation);

}

function Unregister() {

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

WshShell = new ActiveXObject("WScript.Shell");

WshShell.Popup("Компонент удален из системы", 0,

"Компонент для архивирования файлов",vbInformation);

}

]]>

Затем нам понадобятся две дополнительные функции. Первая из них NowIs()формирует строку формата ММДД, где ММ — текущий месяц, ДД — текущий день:

//Вспомогательная функция для символьного представления даты

function NowIs() {

var d, s="", s1="";

//Создаем объект Date (текущая дата)

d=new Date();

//Выделяем номер месяца

s+=(d.getMonth()+1);

//Если месяц представляется одним символом, добавляем слева "0"

if (s.length==1) s="0"+s;

//Выделяем в дате день

s1+=d.getDate();

//Если день представляется одним символом, добавляем слева "0"

if (s1.length==1) s1="0"+s1;

s+=s1;

//Возвращаем сформированную строку

return s;

}

Вторая функция CheckPath()будет проверять наличие исходного каталога и каталога для хранения архивных файлов. Для этого используется метод FolderExists()объекта FileSystemObject. Заметим, что сам объект FileSystemObjectнужно создавать не путем вызова метода CreateObjectобъекта WScript, а с помощью конструкции new ActiveXObject():

FSO=new ActiveXObject("Scripting.FileSystemObject");

т.к. в отличие от обычного сценария WSH в компоненте-сценарии нет встроенного объекта WScript. Если хотя бы один из каталогов не существует, функция CheckPath()запишет соответствующее сообщение в свойство SErrMessи вернет значение false, в противном случае функция CheckPath()возвращает значение true.

//Проверка доступности каталогов

function CheckPath() {

var FSO;

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

FSO=new ActiveXObject("Scripting.FileSystemObject");

//Проверяем доступность исходного каталога

if (!FSO.FolderExists(SFrom)) { //Исходный каталог не существует

//Формируем строку с информацией об ошибке

SErrMess="Не найден исходный каталог "+SFrom;

return false;

}

//Проверяем доступность каталога для архивирования

if (!FSO.FolderExists(SArch)) {

//Каталог для архивирования не существует

//Формируем строку с информацией об ошибке

SErrMess="Не найден каталог для хранения архивов "+SArch;

return false;

}

//Если оба каталога существуют, возвращаем true

return true;

}

Основной функцией, осуществляющей архивирование файлов, является FilesToArchiv(). В самом начале этой функции с помощью вызова CheckPath()проверяется наличие рабочих каталогов. Если хотя бы один из каталогов не существует, то выполнение FilesToArchiv()прерывается и возвращается значение false:

if (!CheckPath()) return false;

Затем создаются экземпляры объектов FileSystemObjectи WshShell:

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

FSO = new ActiveXObject("Scripting. FileSystemObject");

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

WshShell = new ActiveXObject("WScript.Shell");

Имя файла-архива формируется следующим образом:

//Формируем имя файла-архива

SFName=SPref+NowIs()+".arj";

Архиватор arj.exe мы будем запускать в отдельном командном окне, которое закроется после выполнения этой программы. Для этого мы сформируем командную строку SComLine, с помощью которой запускается вторичная копия командного процессора (путь к командному процессору хранится в переменной среды %COMSPEC%, вторичная копия вызывается с помощью ключа ):

SComLine="%COMSPEC% /с ";

Синтаксис запуска arj.exe для создания архивного файла имеет следующий вид:

arj.exe a Archiv Files

где Archiv — путь к файлу-архиву, Files — имена добавляемых в архив файлов (здесь можно использовать шаблонные символы ? и *). Поэтому мы добавим нужные компоненты к командной строке SComLine:

SComLine+=" arj.exe a "+FSO.BuildPath(SArch, SFName) + " ";

SComLine+= FSO.BuildPath(SFrom, SMask);

Команды, записанные в SComLine, запускаются с помощью метода Runобъекта WshShell; код возврата сохраняется в переменной RetCode:

RetCode = WshShell.Run(SComLine, 1, true);

Равенство нулю переменной RetCodeозначает, что архивирование выполнено без ошибок — в этом случае функция FilesToArchiv()возвращает true. Если же при выполнении arj.exe возникла ошибка (переменная RetCodeне равна нулю), то ее код вносится в сообщение об ошибке (свойство SErrMess):

//Анализируем код возврата для arj.exe

if (0==RetCode)

//Выполнение arj.exe завершилось без ошибок

return true;

else {

//Формируем строку с информацией об ошибке

SErrMess="Ошибка ARJ.EXE! Код "+RetCode;

return false;

}

Полностью содержимое файла DateArc.wsc приведено в листинге 10.4.

Листинг 10.4. СОМ-объект DateArc.WSC(JScript)

version="1.00"

classid="{424ac2bc-5732-4dea-be17-0211af99cd79}">

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Андрей Попов читать все книги автора по порядку

Андрей Попов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Windows Script Host для Windows 2000/XP отзывы


Отзывы читателей о книге Windows Script Host для Windows 2000/XP, автор: Андрей Попов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x