Андрей Попов - 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Функции, определяемые пользователем, могут находиться в любом месте сценария и иметь произвольное число параметров (аргументов). Общий вид определения функции имеет вид:
function Имя_функции([ параметр1 ] [, параметр2 ] [... , параметр N]) {
…
Тело функции
…
[return значение ;]
}
Ключевое слово return
позволяет функции вернуть значение любого допустимого типа. Например, приведенная ниже функция MyFunction
возвращает true
, если оба ее аргумента меньше 10:
function MyFunction(х,у) {
if ((х<10) && (у<10)) return true
else return false;
}
Встроенные объекты (классы)
Как уже отмечалось в самом начале раздела, JScript является объектно-ориентированным языком, поэтому математические вычисления, работа со строками, датой и временем, а также такими структурами, как массивы и коллекции, осуществляются с помощью соответствующих встроенных объектов. В табл. П1.12 описаны некоторые объекты, которые могут быть полезны при создании сценариев с помощью WSH.
Таблица П1.12.Некоторые встроенные объекты JScript
Объект | Описание |
---|---|
Array |
Создание и работа с массивами данных произвольного типа |
Date |
Работа с данными, содержащими дату или время |
Enumerator |
Работа с коллекциями данных произвольного типа |
Math |
Выполнение математических вычислений |
String |
Работа с текстовыми строками |
Для того чтобы в сценарии использовать встроенный объект, необходимо создать переменную, с помощью которой можно будет получить доступ к свойствам и методам этого объекта. Для создания большинства переменных такого вида применяется оператор new
и специальная функция — конструктор нужного объекта. Название конструктора всегда совпадает с названием соответствующего встроенного объекта. Приведем пример создания объектов Date
и Array
!
var d;
d = new Date();
var a;
a = new Array(10);
Отметим, что объекты string можно создавать, просто записывая в кавычках значение строки:
var s;
s = "Привет!";
Опишем объекты, приведенные в табл. П1.12, более подробно.
Объект Array
Новый объект встроенного класса Array
можно создать с помощью оператора new
следующими способами:
□ new Array()
— создание массива нулевой длины;
□ new Array( N )
— создание массива длины N
;
□ new Array( а0 , a1, ..., aN )
— создание массива длины N+1
c элементами а0
, a1
, ..., aN
.
Например:
var A1, А2, A3;
A1 = new Array();
A2 = new Array(3);
A3 = new Array(0, "Строка", 2.5);
Нумерация элементов в массивах всегда начинается с нуля. После того как массив создан и проинициализирован, обращаться к его элементам можно с помощью обычного оператора индексации [], например:
A3[1] = А3[0] + A3[2];
Длину массива, т.е. число содержащихся в нем элементов, можно узнать с помощью свойства length
объекта Array
. Для того чтобы динамически изменить длину массива (уменьшить или увеличить), достаточно просто записать соответствующее значение в свойство length:
var А;
А = new Array(1,2,3,4,5); // Длина массива А равна 5
A.length = 3; // Теперь длина массива А равна 3
Некоторые наиболее часто используемые методы встроенного объекта Array
описаны в табл. П1.13.
Таблица П1.13.Методы объекта Array
Метод | Описание |
---|---|
a1.concat( а2 ) |
Возвращает новый массив, являющийся результатом объединения (склеивания) двух массивов: a1 (его элементы идут первыми) и а2 (его элементы идут после элементов массива a1 ) |
join( separator ) |
Возвращает строку, содержащую все идущие друг за другом элементы массива, разделенные символом, указанным в параметре separator |
reverse() |
Располагает элементы массива в обратном порядке (первый меняется местами с последним, второй — с предпоследним и т.д.). Новый массив при этом не создается |
slice( start, [end] ) |
Возвращает часть массива, начиная с элемента с индексом start , заканчивая элементом с индексом end . Если в качестве end указано отрицательное число, то оно задает смещение от конца массива. Если параметр end не указан, то берутся все элементы массива, начиная с элемента с индексом start |
sort( [sortfunction] ) |
Возвращает массив с отсортированными элементами. Параметр sortfunction определяет имя функции, используемой для сортировки; если этот параметр опущен, то сортировка производится в порядке увеличения ASCII-кодов элементов массива |
Пример использования методов объекта Array приведен в листинге П1.4.
Array
var A1, А2, A3;
A1 = new Array(2);
A2 = new Array(2,3,4,5);
A1[0] = 0;
A1[1] = 1;
A3 = A2.concat(A1); // A3=(2,3,4,5,0,1)
A3.sort(); // A3=(0,1,2,3,4,5)
Объект Date
Для создания нового объекта встроенного класса Date
используется один из трех конструкторов.
Конструктор первого вида позволяет создать объект, в котором хранится информация о текущих дате и времени:
var d;
d = new Date();
Здесь время задается по Гринвичу, т.е. с использованием времени (UCT — Universal Coordinated Time).
Конструктор второго вида имеет единственный параметр:
var d;
d = new Date(nMilliseconds);
Параметр nMilliseconds
задает дату в миллисекундах, считая от 1 января 1970 года.
Конструктор третьего вида предназначен для раздельного задания компонентов даты и имеет следующий вид:
var d;
d = new Date(year, month, date [, hours [, min [, sec [, ms]]]]);
Значения параметров последнего конструктора приведены в табл. П1.14.
Таблица П1.14.Параметры конструктора Date
Параметр | Описание |
---|---|
year |
Год в четырехзначном формате, например 1998 (но не 98) |
month |
Номер месяца от 0 (январь) до 11 (декабрь) |
date |
Календарная дата в диапазоне от 1 до 31 |
hours |
Час дня в диапазоне от 0 до 23 |
min |
Минуты в диапазоне от 0 до 59 |
sec |
Секунды в диапазоне от 0 до 59 |
ms |
Миллисекунды в диапазоне от 0 до 999 |
Наиболее часто используемые методы объекта Date
описаны в табл. П1.15.
Таблица П1.15.Некоторые методы объекта Date
Метод | Описание |
---|---|
getDate() |
Возвращает календарную дату в диапазоне от 1 до 31 |
getDay() |
Возвращает номер дня недели (0 для воскресенья, 1 — для понедельника и т.д.) |
getFullYear() |
Возвращает четырехзначный номер года |
getHours() |
Возвращает число часов (отсчет идет с полуночи) |
getMilliseconds() |
Возвращает число миллисекунд |
getMinutes() |
Возвращает число минут (отсчет идет с начала часа) |
getMonth() |
Возвращает число месяцев (отсчет идет с января) |
getSeconds() |
Возвращает число секунд (отсчет идет с начала минуты) |
getTime() |
Определение времени для объекта Date. Возвращает количество миллисекунд, прошедших с 1 января 1970 года |
getTimezoneOffset() |
Возвращает смещение локального времени относительно времени по Гринвичу (в миллисекундах) |
parse( dateVal ) |
Возвращает число миллисекунд, прошедших с полуночи 1 января 1970 года по время, заданное параметром dateVal . Для вызова метода parse необязательно создавать объект класса Date , достаточно просто сослаться на имя этого класса: n = Date.parse("10 May 2001 13:00:00"); Параметр dateVal может задаваться в нескольких форматах (подробнее см документацию по языку JScript) |
setDate( date ) |
Устанавливает календарную дату. Параметр date может принимать любые положительные или отрицательные значения. Если значение date больше, чем количество дней в месяце, который хранится в объекте Date , или date является отрицательным числом, то календарная дата устанавливается в число, равное разности параметра date и числа дней в этом месяце |
setFullYear( year ) |
Устанавливает номер года, заданный параметром year |
setHours( hours ) |
Устанавливает количество часов, заданное параметром hours . Параметр hours может принимать любые положительные или отрицательные значения (при необходимости происходит соответствующее изменение даты, записанной в объекте класса Date ) |
setMilliseconds( ms ) |
Устанавливает количество миллисекунд, заданное параметром ms . Параметр ms может принимать любые положительные или отрицательные значения (при необходимости происходит соответствующее изменение даты, записанной в объекте класса Date ) |
setMinutes( min ) |
Устанавливает количество минут, заданное параметром min . Параметр min может принимать любые положительные или отрицательные значения (при необходимости происходит соответствующее изменение даты, записанной в объекте класса Date ) |
setMonth( mon ) |
Устанавливает номер месяца, прошедшего с начала года. Параметр mon может принимать любые положительные или отрицательные значения (при необходимости происходит соответствующее изменение даты, записанной в объекте класса Date ) |
setSeconds( sec ) |
Устанавливает количество секунд, заданное параметром sec . Параметр sec может принимать любые положительные или отрицательные значения (при необходимости происходит соответствующее изменение даты, записанной в объекте класса Date ) |
setTime( ms ) |
Устанавливает дату, соответствующую количеству миллисекунд (параметр ms ), прошедших с 1 января 1970 года |
toGMTString() |
Преобразует дату в строку и возвращает результат в стандартном формате времени по Гринвичу (Greenwich Mean Time, GMT) |
ToLocaleString() |
Преобразует дату в строку и возвращает результат в формате локального времени |
ToUTCString() |
Преобразует дату в строку и возвращает результат в формате UTC |
UTC( year, month, date[, hours[, min[, see [,ms]]]] ) |
Преобразует дату, заданную параметрами метода, в количество миллисекунд, прошедшее с полуночи 1 января 1970 года. При использовании этого метода, как и метода parse , объект класса Date создавать необязательно: n = Date.UTC(year, month, date); |
Пример использования методов объекта Date
приведен в листинге П1.5.
Интервал:
Закладка: