Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программное обеспечение » Windows Script Host для Windows 2000/XP - Андрей Попов

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

Читать онлайн Windows Script Host для Windows 2000/XP - Андрей Попов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 126 127 128 129 130 131 132 133 134 ... 175
Перейти на страницу:

Реализация объекта 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. В данной главе мы рассмотрим примеры сценариев, которые могут быть полезны администраторам в их повседневной работе, например, при создании сценариев регистрации для пользователей.

1 ... 126 127 128 129 130 131 132 133 134 ... 175
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Windows Script Host для Windows 2000/XP - Андрей Попов.
Комментарии