Подробнее о ключах команды XCOPY
можно узнать из встроенной справки для этой команды. Для вывода этой справки на экран необходимо в командном окне запустить XCOPY
с ключом /?
; для вывода справки в текстовый файл нужно воспользоваться символом перенаправления вывода '>
', например: XCOPY /? > spr.txt
.
Пути к каталогу, где хранятся документы пользователя, и к каталогу, в который будет производиться копирование, формируются с помощью переменных среды %HomeDir%
, %HomePath%
и %UserName%
. Описание этих и некоторых других переменных среды, которые определены в Windows, приведено в табл. 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 создаются экземпляры объектов WshShell
, FileSystemObject
и WshSpecialFolders
, после чего в переменную SHomePath
заносится путь к каталогу с документами текущего пользователя (специальная папка с именем My Documents):
//Создаем объект WshShell
WshShell = WScript.CreateObject('WScript.Shell');
//Создаем объект FileSystemObject
FSO = WScript.CreateObject('Scripting.FileSystemObject');
//Создаем объект WshSpecialFolders
WshFldrs=WshShell.SpecialFolders;
//Определяем путь к папке выборочной автозагрузки
SHomePath=WshFldrs.item('MyDocuments');
Путь к каталогу, в который будет производиться копирование документов, формируется с помощью переменной среды %UserName%
; значение такой переменной извлекается c помощью метода ExpandEnvironmentStrings()
объекта WshShell
:
//Определяем имя пользователя
SUserName=WshShell.ExpandEnvironmentStrings('%UserName%');
//Формируем полный путь к каталогу с резервными копиями документов