SMask | Свойство | Чтение/запись | Маска, по которой отбираются файлы для архивирования |
SErrMess | Свойство | Чтение | Текст сообщения об ошибке |
FilesToArchiv() | Метод | Метод, осуществляющий архивирование файлов |
Имея зарегистрированный в системе СОМ-объект с такими свойствами и методами, несложно написать сценарий (назовем его RunArj.js), в котором создавался бы экземпляр объекта DateArc.WSC
и производилось с помощью метода FilesToArchiv()
архивирование файлов из исходного в целевой каталог (листинг 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);
/************* Конец *********************************************/
Создание макета файла DateArc.wsc с помощью Windows Script Component Wizard (JScript)
Из листинга 10.1 можно понять, что создание компонента-сценария связано с написанием большого количества вспомогательного кода (нужно заполнить элементы <registration>
, <property>
, <method>
и <events>
, написать функции для чтения и записи каждого из свойств объекта и т.д). Поэтому мы воспользуемся специальным мастером для создания компонентов-сценариев Windows Script Component Wizard (эту программу можно свободно получить с сайта Microsoft http://msdn.microsoft.com/scripting).
Первым шагом после запуска мастера является заполнение полей диалогового окна, представленного на рис. 10.1. Здесь нужно ввести имя создаваемого компонента ('DateArc'), имя файла с его описанием ('DateArc'), программный идентификатор ('DateArc.WSC'), версию компонента ('1.00') и каталог, в котором будет создан WSC-файл ('C:WSC').

Рис. 10.1. Общая информация о создаваемом компоненте-сценарии
На втором шаге работы мастера мы выберем, какой язык будет использоваться при написании сценария ('JScript'), и укажем, что при регистрации и работе объекта нужно выполнять проверку ошибок ('Error checking') (рис. 10.2).

Рис. 10.2. Определение характеристик компонента-сценария
Третий шаг работы мастера позволяет описать свойства создаваемого объекта. Здесь для каждого свойства мы указываем его имя (колонка 'Name'), тип ('Read' — только чтение, 'Write' — только запись, 'Read/Write' — чтение и запись) и значение по умолчанию (колонка 'Default') (рис. 10.3).

Рис. 10.3. Задание свойств компонента-сценария
На четвертом шаге описываются методы объекта. В нашем случае объект DateArc.WSC
имеет единственный метод FilesToArchiv()
, вызываемый без параметров (рис. 10.4).

Рис. 10.4. Задание методов компонента-сценария
На пятом шаге нам предлагается указать, какие события могут возникать в объекте. Для нашего компонента-сценария мы не будем задавать никаких событий (рис. 10.5).

Рис. 10.5. Задание событий компонента-сценария
Шестой шаг является заключительным в работе мастера. Здесь нам выдается вся информация о