приведены в главе 2 (см. листинги 2.1, 2.2, 2.4 и 2.5).
Метод Sleep
В следующем примере сценарий переводится в неактивное состояние на 5 секунд:
WScript.Echo("Сценарий запущен, отдыхаем...");
WScript.Sleep(5000);
WScript.Echo("Выполнение завершено");
Метод
Sleep
необходимо применять при асинхронной работе сценария и какой-либо другой задачи, например, при имитации нажатий клавиш в активном окне с помощью метода
WshShell.SendKeys
(см. листинги 1.13, 2.31, 2.32).
Объекты-коллекции
В WSH входят объекты, с помощью которых можно получить доступ к коллекциям, содержащим следующие элементы:
параметры командной строки запущенного сценария или ярлыка Windows (объекты
WshArguments
,
WshNamed
и
WshUnnamed
);
значения переменных среды (объект
WshEnvironment
);
пути к специальным папкам Windows (объект
WshSpecialFolders
).
Объект WshArguments
Объект
WshArguments
содержит коллекцию всех параметров командной строки запущенного сценария или ярлыка Windows. Этот объект можно создать только с помощью свойства
Arguments
объектов
WScript
и
WshShortcut
.
В принципе, работать с элементами коллекции
WshArguments
можно стандартным для JScript образом — создать объект
Enumerator
и использовать его методы
moveNext
,
item
и
atEnd
. Например, вывести на экран все параметры командной строки, с которыми запущен сценарий, можно следующим образом (листинг 1.4).
Листинг 1.4. Вывод всех параметров сценария (стандартные коллекции JScript)
objArgs = WScript.Arguments; //Создаем объект WshArguments
for (i=0; i<=objArgs.Count-1; i++)
WScript.Echo(objArgs(i)); //Выводим на экран i-й аргумент
/************* Конец *********************************************/
С помощью объекта
WshArguments
можно также выделять и отдельно обрабатывать аргументы сценария, у которых имеются имена (например,
/Name:Andrey
) и безымянные аргументы. Ясно, что использование именных параметров более удобно, т. к. в этом случае нет необходимости запоминать, в каком порядке должны быть записаны параметры при запуске того или иного сценария.
Для доступа к именным и безымянным аргументам используются соответственно два специальных свойства объекта
WshArguments
:
Named
и
Unnamed
.
Свойство
Named
содержит ссылку на коллекцию
WshNamed
, свойство
Unnamed
— на коллекцию
WshUnnamed
.
Таким образом, обрабатывать параметры командной строки запущенного сценария можно тремя способами:
просматривать полный набор всех параметров (как именных, так и безымянных) с помощью коллекции
WshArguments
;
выделить только те параметры, у которых есть имена (именные параметры) с помощью коллекции
WshNamed
;
выделить только те параметры, у которых нет имен (безымянные параметры) с помощью коллекции
WshUnnamed
.
У объекта
WshArguments
имеется еще один метод
ShowUsage
. Этот метод служит для вывода на экран информации о запущенном сценарии (описание аргументов командной строки, пример запуска сценария и т.д.). В свою очередь, подобную информацию можно задать только при использовании WSH-сценариев с разметкой XML; более подробно о применении метода