- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Windows Script Host для Windows 2000/XP - Андрей Попов
Шрифт:
Интервал:
Закладка:
Реализация объекта DateArc.wsc на VBScript
Различие между компонентами-сценариями, написанными на языках JScript и VBScript, проявляется только в секции <script> WSC-файлов. Во-первых, естественным образом меняется синтаксис описанных внутри контейнера <script> функций. Во-вторых, в WSC-файле, написанном с помощью VBScript, отсутствует описание внутреннего объекта, который генерируется программой Windows Script Component Wizard и имеет поля и методы, совпадающие с объявленными внутри элемента <public> (см. листинг 10.3).
Объяснение этому очень простое — в VBScript нельзя создавать свои внутренние объекты.
Полностью содержимое файла DateArcVB.wsc, который реализует СОМ-объект DateArc.WSC с помощью VBScript, приведено в листинге 10.5.
Листинг 10.5. СОМ-объект DateArc.WSC (VBScript)<?xml version="1.0" encoding="windows-1251"?>
<component>
В <registration description="DateArc" progid="DateArc.WSC"
В version="1.00" classid="{424ac2bc-5732-4dea-be17-0211af99cd79}">
В <script language="VBScript">
В <![CDATA[
Dim WshShell
Function Register()
 'Создаем объект WshShell
В Set WshShell = CreateObject("WScript.Shell")
 WshShell.Popup "Компонент зарегистрирован в системе",0,_
 "Компонент для архивирования файлов",vbInformation
End Function
Function Unregister()
 'Создаем объект WshShell
В Set WshShell = CreateObject("WScript.Shell")
 WshShell.Popup "Компонент удален из системы",0,_
 "Компонент для архивирования файлов",vbInformation
End Function
В ]]>
В </script>
В </registration>
В <public>
В <property name="SFrom">
В В <get/>
В В <put/>
В </property>
В <property name="SArch">
В В <get/>
В В <put/>
В </property>
В <property name="SPref">
В В <get/>
В В <put/>
В </property>
В <property name="SMask">
В В <get/>
В В <put/>
В </property>
В <property name="SErrMess">
В В <get/>
В </property>
В <method name="FilesToArchiv">
В </method>
В </public>
В <script language="VBScript">
В <![CDATA[
Dim SFromВ В В 'Рсходный каталог для архивирования
Dim SArch   'Каталог, в котором будет создаваться архив
Dim SPref   'Префикс файла
Dim SMask   'Маска, по которой отбираются файлы для
            'архивирования
Dim SErrMess 'Текст сообщения об ошибке
'Чтение и запись свойства SFrom
Function get_SFrom()
В get_SFrom = SFrom
End Function
Function put_SFrom(newValue)
В SFrom = newValue
End Function
'Чтение и запись свойства SArch
Function get_SArch()
В get_SArch = SArch
End Function
Function put_SArch(newValue)
В SArch = newValue
End Function
'Чтение и запись свойства SPref
Function get_SPref()
В get_SPref = SPref
End Function
Function put_SPref(newValue)
В SPref = newValue
End Function
'Чтение и запись свойства SMask
Function get_SMask()
В get_SMask = SMask
End Function
Function put_SMask(newValue)
В SMask = newValue
End Function
'Чтение свойства SErrMess
Function get_SErrMess()
В get_SErrMess = SErrMess
End Function
'Вспомогательная функция для символьного представления даты
Function NowIs()
В Dim d,s,s1
В s=""
В s1=""
 'Определяем текущую дату
В d=Date()
 'Выделяем номер месяца
В s=s & Month(d)
 'Если месяц представляется одним символом, добавляем слева "0"
В If Len(s)=1 Then
В s="0" & s
В End If
 'Выделяем в дате день
В s1=s1 & Day(d)
 'Если день представляется одним символом, добавляем слева "0"
В If Len(s1)=1 Then
В s1="0" & s1
В End If
В s=s & s1
 'Возвращаем сформированную строку
В NowIs=s
End Function
'Проверка доступности каталогов
Function CheckPath()
В Dim FSO
 'Создаем объект FileSystemObject
В Set FSO=CreateObject("Scripting.FileSystemObject")
 'Проверяем доступность исходного каталога
В If Not FSO.FolderExists(SFrom) Then
В 'Рсходный каталог РЅРµ существует
 'Формируем строку с информацией об ошибке
 SErrMess="Не найден исходный каталог " & SFrom
В CheckPath=false
В End If
 'Проверяем доступность каталога для архивирования
В If Not FSO.FolderExists(SArch) Then
 'Каталог для архивирования не существует
 'Формируем строку с информацией об ошибке
 SErrMess="Не найден каталог для хранения архивов " & SArch
В CheckPath=false
В End If
 'Если оба каталога существуют, возвращаем true
В CheckPath=true
End Function
'Архивирование файлов из исходного каталога
Function FilesToArchiv()
В Dim WshShell,SComLine,RetCode,SFName,FSO
 'Если хотя бы один из каталогов не существует, возвращаем false
В If Not CheckPath() Then
В FilesToArchiv=false
В End IfВ
 'Создаем объект FileSystemObject
В Set FSO=CreateObject("Scripting.FileSystemObject")
 'Создаем объект WshShell
В Set WshShell=CreateObject("WScript.Shell")
 'Формируем имя файла-архива
В SFName=SPref & NowIs() & ".arj"
 'Формируем командную строку для запуска архиватора arj.exe
В SComLine="%COMSPEC% /c arj.exe a "
В SComLine=SComLine & FSO.BuildPath(SArch,SFName)+" "
В SComLine=SComLine & FSO.BuildPath(SFrom,SMask)
 'Запускаем архиватор arj.exe
В RetCode = WshShell.Run(SComLine, 1, true)
 'Анализируем код возврата для arj.exe
В If 0=RetCode Then
 'Выполнение arj.exe завершилось без ошибок
В FilesToArchiv=true
В Else
 'Формируем строку с информацией об ошибке
 SErrMess="Ошибка ARJ.EXE! Код " & RetCode
В FilesToArchiv=false
В End If
End Function
В ]]>
В </script>
</component>В
Глава 11
Применение сценариев WSH для администрирования Windows РҐР
Одним из основных назначений сценариев WSH является, в конечном счете, автоматизация работы администраторов компьютерных систем, построенных на базе Windows. В данной главе мы рассмотрим примеры сценариев, которые могут быть полезны администраторам в их повседневной работе, например, при создании сценариев регистрации для пользователей.

