Kniga-Online.club

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

Читать бесплатно Андрей Попов - Windows Script Host для Windows 2000/XP. Жанр: Программное обеспечение издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Самым быстрым решением поставленной задачи является создание командного файла Logoff.bat (листинг 11.11) и назначение его в качестве сценария выхода для всех пользователей. Результат работы этого пакетного файла будет виден в командном окне (рис. 11.20).

Листинг 11.11. Командный файл-сценарий выхода, позволяющий производить : резервное копирование документов пользователя

@ECHO OFF

REM РРјСЏ: Logoff.bat

REM Описание: BAT-файл, выполняющий резервное копирование

REM           документов пользователя

ECHO Окончание сеанса пользователя %UserName%.

ECHO.

ECHO Начинаем копирование документов в каталог D:Backup%UserName%...

XCOPY /C /D /E /I /Y "%HomeDrive%%HomePath%Мои документы" D:Backup%UserName%

ECHO.

ECHO Копирование документов завершено.

PAUSE

Как мы видим, вся работа файла Logoff.bat заключается в вызове команды XCOPY для нужных каталогов:

XCOPY /С /D /Е /I /Y "%HomeDrive%%HomePath%Мои документы" "D:Backup%UserName%"

Рис. 11.20. Результат работы сценария выхода Logoff.bat для пользователя Popov

Здесь для XCOPY указаны несколько ключей, которые позволяют:

□ не прерывать копирование при возникновении ошибки (ключ /С);

□ копировать только те файлы, которые были изменены (ключ /D);

□  копировать все подкаталоги, включая пустые (ключ /Е);

□  создавать, при необходимости, каталог, в который производится копирование (ключ /I);

□  перезаписывать файлы без подтверждения пользователя (ключ /Y).

Замечание

Подробнее о ключах команды XCOPY можно узнать из встроенной справки для этой команды. Для вывода этой справки на экран необходимо в командном окне запустить XCOPY с ключом /?; для вывода справки в текстовый файл нужно воспользоваться символом перенаправления вывода '>', например: XCOPY /? > spr.txt.

Пути к каталогу, где хранятся документы пользователя, и к каталогу, в который будет производиться копирование, формируются с помощью переменных среды %HomeDir%, %HomePath% и %UserName%. Описание этих и некоторых других переменных среды, которые определены в Windows, приведено в табл. 11.2.

Таблица 11.2. Переменные среды, полезные для использования в сценариях входа/выхода

Переменная Описание %COMSPEC% Путь Рє командному интерпретатору %HOMEDIR% Буква переопределенного РґРёСЃРєР° РЅР° компьютере пользователя, которая ссылается РЅР° сетевой ресурс, содержащий личный каталог пользователя %HOMEDRIVE% Локальный, либо перенаправленный РґРёСЃРє, РЅР° котором расположен личный каталог %HOMEPATH% Путь Рє личному каталогу %HOMESHARE% РРјСЏ каталога общего доступа, включающее личный каталог Рё локальный, либо переопределенный РґРёСЃРє %OS% Операционная система, управляющая рабочей станцией %PROCESSOR_ARCHITECTURE% Архитектура процессора (например, С…86) рабочей станции пользователя %SYSTEMDRIVE% Диск, РЅР° котором находится системный каталог Windows %SYSTEMROOT% Путь Рє системному каталогу Windows %PROCESSOR_LEVEL% РўРёРї процессора рабочей станции пользователя %TEMP% Путь Рє каталогу для хранения временных файлов %USERDOMAIN% Домен, РІ котором зарегистрирован пользователь %USERNAME% РРјСЏ, РїРѕРґ которым регистрировался РїСЂРё РІС…РѕРґРµ РІ сеть пользователь

Так как имена каталогов, присутствующих в команде XCOPY, могут содержать пробелы, эти имена взяты в кавычки.

Сценарий WSH

Для создания нужных нам резервных копий можно также написать сценарий 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:

Перейти на страницу:

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

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


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

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


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*