Пример: СОМ-объект для архивирования файлов
Пример: СОМ-объект для архивирования файлов
Представим себе следующую ситуацию. Имеется несколько каталогов на жестком диске, в которых хранятся рабочие файлы разных пользователей. Необходимо каждый день с помощью программы-архиватора arj.exe делать архивы этих файлов в заданный каталог, при этом имя архивного файла должно соответствовать шаблону ппММДД.arj", где пп — уникальный для каждого пользователя префикс, ММ — текущий месяц, ДД — текущий день.
Мы создадим компонент-сценарий DateArc.WSC, с помощью свойств и методов которого можно будет выполнить поставленную задачу.
Начнем мы с того, что определимся, какие именно свойства и методы будет содержать создаваемый объект (табл. 10.1).
Таблица 10.1. Свойства и методы объекта DateArc.WSC
Название Свойство/метод Режим доступа Описание SFrom Свойство Чтение/запись Исходный каталог для архивирования SArch Свойство Чтение/запись Каталог, в котором хранятся архивные файлы SPref Свойство Чтение/запись Префикс файла-архива SMask Свойство Чтение/запись Маска, по которой отбираются файлы для архивирования SErrMess Свойство Чтение Текст сообщения об ошибке FilesToArchiv() Метод Метод, осуществляющий архивирование файловИмея зарегистрированный в системе СОМ-объект с такими свойствами и методами, несложно написать сценарий (назовем его RunArj.js), в котором создавался бы экземпляр объекта DateArc.WSC и производилось с помощью метода FilesToArchiv() архивирование файлов из исходного в целевой каталог (листинг 10.2).
Листинг 10.2. Архивирование файлов с помощью СОМ-объекта DateArc.WSC
/********************************************************************/
/* Имя: RunArj.js */
/* Язык: JScript */
/* Описание: Архивирование файлов с помощью COM-объекта DateArc.WSC */
/********************************************************************/
//Объявляем переменные
var
DateArc, //Экземпляр объекта DateArc.WSC
Result; //Результат выполнения метода FilesToArchiv()
//Инициализируем константы для диалоговых окон
var vbCritical=16,vbInformation=64;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Создаем объект DateArc.WSC
DateArc=WScript.CreateObject("DateArc.WSC");
DateArc.SFrom="D:\1"; //Исходный каталог
DateArc.SArch="D:\2"; //Каталог, в который будут архивироваться
//файлы
DateArc.SPref="aa"; //Префикс для файл-архива
DateArc.SMask="*.*"; //Маска, по которой будут отбираться файлы
//для архивирования
//Запускаем метод FilesToArchiv()
Result=DateArc.FilesToArchiv();
if (!Result)
//Если возникла ошибка, выводим соответствующее сообщение
WshShell.Popup(DateArc.SErrMess, 0, "Архивирование файлов", vbCritical);
else WshShell.Popup("Архивирование завершено успешно!", 0,
"Архивирование файлов", vbInformation);
/************* Конец *********************************************/