Андрей Попов - Windows Script Host для Windows 2000/XP
- Название:Windows Script Host для Windows 2000/XP
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2004
- Город:Санкт-Петербург
- ISBN:5-94157-197-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание
В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.
Windows Script Host для Windows 2000/XP - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Пример использования цикла for
приведен в листинге П2.1.
For…Next
Dim howFar 'Верхний предел для счетчика цикла
Dim sum(10) 'Массив из 11 элементов, индексы от 0 до 10
Dim icount, theSum
howFar = 10
theSum = 0
sum(0) = 0
'Цикл выполнится 11 раз
For icount = 0 To howFar
theSum=theSum+icount
sum (icount) = theSum
Next
Цикл For Each…Next
Оператор цикла For Each…Next
предназначен для перебора всех элементов массива или коллекции:
For Each element In group
тело цикла
[Exit For]
тело цикла
Next [ element ]
Здесь параметр element
является переменной, в которую будет записываться значение текущего элемента массива или коллекции при итерациях; group
— имя массива или коллекции объектов.
Напомним, что в JScript для перебора всех элементов коллекции необходимо использовать вспомогательный объект Enumerator
.
С помощью оператора Exit For
можно осуществить немедленный выход из цикла.
Пример использования цикла For Each…Next
приведен в листинге П2.2.
For Each…Next
'Объявляем переменные
Dim FSO, Folder, Files, File, s
s = "Список файлов" & vbCrLf
'Создаем объект FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
' Создаем объект Folder для корневого каталога диска С:
Set Folder = FSO.GetFolder("C:\")
'Создаем коллекцию Files всех файлов в корневом каталоге диска С:
Set Files = Folder.Files
'Перебираем все элементы коллекции Files
For Each File In Files
'Выделяем имя файла для текущего элемента File коллекции
s = s & File.Name & vbCrLf
Next
'Выводим сформированную строку на экран
WScript.Echo s
Цикл While…Wend
Цикл While…Wend
записывается в следующем виде:
While условие
тело цикла
Wend
Таким образом, в цикле While…Wend
условие выполнения тела цикла проверяется перед началом очередной итерации. Если условие равно true
, то тело цикла выполняется, в противном случае цикл завершается.
Пример использования цикла While…Wend
приведен в листинге П2.3.
While…Wend
Dim theMoments, theCount
theMoments = ""
theCount = 42 'Начальное значение счетчика цикла
While (theCount >= 1)
If (theCount > 1) Then
theMoments = "До взрыва осталось " & theCount & " сек!"
Else
theMoments = "Осталась секунда!"
End If
theCount = theCount - 1 'Уменьшаем значение счетчика
Wend
theMoments = "ВЗРЫВ!"
Цикл Do…Loop
Этот цикл может применяться в двух видах (с предусловием, которое проверяется до начала очередной итерации, и с пост-условием, которое проверяется после окончания итерации):
Do [While | Until] условие
тело цикла
[Exit Do]
тело цикла
Loop
или
Do
тело цикла
[Exit Do]
тело цикла
Loop [While | Until] условие
Если в цикле используется ключевое слово While
, то итерации продолжаются до тех пор, пока условие
равно true
; если же применяется Until
, то как только значением условия станет true
, произойдет выход из цикла.
Оператор Exit Do
позволяет выйти из цикла до завершения его итераций.
Пример использования цикла Do…Loop
приведен в листинге П2.4.
Do…Loop
Dim howFar 'Верхний предел для счетчика цикла
Dim sum(10) 'Массив из 11 элементов, индексы от 0 до 10
Dim icount, theSum
howFar = 10
theSum = 0
sum(0) = 0
'Цикл выполнится 11 раз
Do
theSum = theSum+icount
sum(icount) = theSum
icount=icount+l
Loop While (icount < howFar)
Прочие операторы
Рассмотрим еще несколько часто применяемых операторов (табл. П2.13).
Таблица П2.13.Прочие операторы
Оператор | Описание |
---|---|
. |
Точка. Применяется для доступа к свойству объекта или для вызова его метода |
() |
Скобки. Применяются либо для изменения порядка вычисления выражений, либо для передачи параметров функциям, либо для индексирования массива |
& |
Оператор конкатенации (склеивание между собой) символьных строк |
With…End With |
Позволяет обращаться к свойствам объекта без написания имени этого объекта |
Обработка исключительных ситуаций
Режим обработки исключительных ситуаций в VBScript включается с помощью оператора On Error Resume Next
. Если после этого при исполнении какою-либо оператора в сценарии произойдет ошибка времени выполнения, то управление передастся к следующему оператору в тексте.
Для анализа ошибок используется специальный объект Err
, который содержит два свойства: Number
— числовой код возникшей ошибки и Description
— краткое описание этой ошибки.
В качестве примера приведем часть сценария, в которой происходит обработка исключительных ситуаций при подключении сетевого диска:
On Error Resume Next ' Включаем обработку ошибок времени выполнения
' Подключаем сетевой диск
WshNetwork.MapNetworkDrive Drive, NetPath
If Err.Numbero<>0 Then
Mess="Ошибка при подключении диска " & Drive & " к " & NetPath &_
"Код ошибки: " & е.number & "Описание: " & е.description
WshShell.Popup Mess, 0, "Подключение сетевого диска", vbCritical
Else
' Все в порядке
Mess = "Диск " & Drive & " успешно подключен к " & NetPath
WshShell.Popup Mess, 0, "Подключение сетевого диска", vbInformation
End If
Для отмены режима обработки исключительных ситуаций нужно выполнить оператор On Error Goto 0
.
Процедуры и функции
VBScript поддерживаются два вида подпрограмм: встроенные функции и функции или процедуры пользователя.
Математические функции
Имеющиеся в VBScript функции, предназначенные для математических вычислений, описаны в табл. П2.14.
Таблица П2.14.Математические функции
Функция | Описание |
---|---|
Abs( x ) |
Возвращает абсолютное значение числа х |
Atn( x ) |
Возвращает арктангенс числа х |
Cos( x ) |
Возвращает косинус числа х |
Exp( x ) |
Экспоненциальная функция, возвращает число е, возведенное в степень х |
Int( x ) |
Возвращает целую часть числа х |
Log( х ) |
Возвращает натуральный логарифм числа х |
Rnd[( х )] |
Возвращает случайное число от 0 до 1 |
Round( х[, nvmdecimal] ) |
Возвращает результат округления числа х с точностью до numdecimal знаков после запятой |
Sgn( х ) |
Знаковая функция числа х |
Sin( х ) |
Возвращает синус числа х |
Sqr( х ) |
Вычисляет квадратный корень из числа х и возвращает полученное значение |
Tan( x ) |
Возвращает тангенс числа х |
Символьные функции
Интервал:
Закладка: