Windows Script Host для Windows 2000/XP
Шрифт:
Резервное копирование документов пользователя при окончании сеанса работы
Для каждого пользователя Windows ХР в каталоге Documents and Settings автоматически создается личная папка, имя которой совпадает с именем этого пользователя. В подкаталоге "Мои документы" (My Documents) этой папки по умолчанию сохраняются все созданные пользователем документы. Для того чтобы всегда иметь резервную копию документов пользователей, можно написать универсальный сценарий выхода, в котором будет происходить копирование всех файлов и подкаталогов из пользовательского каталога "Мои документы" в другой каталог с именем пользователя. В нашем примере резервные копии документов будут сохраняться в каталоге D:\Backup, т.е. при выходе пользователя Popov все его документы скопируются в каталог D:\Backup\Popov, а при выходе пользователя Kazakov — в каталог D:\Backup\Kazakov.
Самым быстрым решением поставленной задачи является создание командного файла Logoff.bat (листинг 11.11) и назначение его в качестве сценария выхода для всех пользователей. Результат работы этого пакетного файла будет виден в командном окне (рис. 11.20).
Как мы видим, вся работа файла Logoff.bat заключается в вызове команды
Рис. 11.20. Результат работы сценария выхода Logoff.bat для пользователя Popov
Здесь для
не прерывать копирование при возникновении ошибки (ключ
копировать только те файлы, которые были изменены (ключ
копировать все подкаталоги, включая пустые (ключ
создавать, при необходимости, каталог, в который производится копирование (ключ
перезаписывать файлы без подтверждения пользователя (ключ /Y).
Подробнее о ключах команды
Пути к каталогу, где хранятся документы пользователя, и к каталогу, в который будет производиться копирование, формируются с помощью переменных среды
Таблица 11.2. Переменные среды, полезные для использования в сценариях входа/выхода
Переменная | Описание |
---|---|
%COMSPEC% | Путь к командному интерпретатору |
%HOMEDIR% | Буква переопределенного диска на компьютере пользователя, которая ссылается на сетевой ресурс, содержащий личный каталог пользователя |
%HOMEDRIVE% | Локальный, либо перенаправленный диск, на котором расположен личный каталог |
%HOMEPATH% | Путь к личному каталогу |
%HOMESHARE% | Имя каталога общего доступа, включающее личный каталог и локальный, либо переопределенный диск |
%OS% | Операционная система, управляющая рабочей станцией |
%PROCESSOR_ARCHITECTURE% | Архитектура процессора (например, х86) рабочей станции пользователя |
%SYSTEMDRIVE% | Диск, на котором находится системный каталог Windows |
%SYSTEMROOT% | Путь к системному каталогу Windows |
%PROCESSOR_LEVEL% | Тип процессора рабочей станции пользователя |
%TEMP% | Путь к каталогу для хранения временных файлов |
%USERDOMAIN% | Домен, в котором зарегистрирован пользователь |
%USERNAME% | Имя, под которым регистрировался при входе в сеть пользователь |
Так как имена каталогов, присутствующих в команде XCOPY, могут содержать пробелы, эти имена взяты в кавычки.
Для создания нужных нам резервных копий можно также написать сценарий WSH (назовем этот сценарий Logoff.js), который, конечно, будет намного больше по объему, чем командный файл, но будет выводить сообщения в красивые графические диалоговые окна (рис. 11.21–11.23).
Сначала в сценарии Logoff.js создаются экземпляры объектов
Путь к каталогу, в который будет производиться копирование документов, формируется с помощью переменной среды