Объект WScript можно использовать в сценарии WSH сразу, без какого-либо предварительного описания или создания, т.к. его экземпляр создаётся сервером сценариев (CScript.exe или WScript.exe) автоматически.
Синтаксис: Timeout
Возвращаемое значение: время в секундах, по истечении которого скрипт будет автоматически остановлен.
Замечание: чтение и запись.
Пример:
WScript.Timeout = 5 While 0=0 'Процессор будет загружен на 100% бесконечным циклом в течение 5 секунд Wend
Синтаксис: Name
Возвращаемое значение: наименование сервера сценариев.
Замечание: только чтение.
Пример:
MsgBox WScript.Name
Синтаксис: FullName
Возвращаемое значение: полный путь к исполняемому файлу сервера сценариев.
Замечание:только чтение.
Пример:
MsgBox WScript.FullName
Синтаксис: Path
Возвращаемое значение: полный путь к каталогу исполняемого файла сервера сценариев.
Замечание: только чтение.
Пример:
MsgBox WScript.Path
Синтаксис: Version
Возвращаемое значение: версия сервера сценариев.
Замечание: только чтение.
Пример:
MsgBox WScript.Version
Синтаксис: BuildVersion
Возвращаемое значение: номер сборки сервера сценариев.
Замечание: только чтение.
Пример:
MsgBox WScript.BuildVersion
Синтаксис: ScriptName
Возвращаемое значение: имя запущенного файла скрипта.
Замечание: только чтение.
Пример:
MsgBox WScript.ScriptName
Синтаксис: ScriptFullName
Возвращаемое значение: полный путь к запущенному файлу скрипта.
Замечание: только чтение.
Пример:
MsgBox WScript.ScriptFullName
Синтаксис: StdIn
Возвращаемое значение: объект "TextStream", соответствующий стандартному входному потоку. Доступен, если скрипт запущен с помощью CScript.exe.
Замечание: только чтение.
Пример:
WScript.StdOut.Write "Input: " s = WScript.StdIn.ReadLine MsgBox s
Синтаксис: StdOut
Возвращаемое значение: объект "TextStream", соответствующий стандартному выходному потоку. Доступен, если скрипт запущен с помощью CScript.exe.
Замечание: только чтение.
Пример:
WScript.StdOut.Write "Input: " s = WScript.StdIn.ReadLine MsgBox s
Синтаксис: StdErr
Возвращаемое значение: объект "TextStream", соответствующий стандартному потоку ошибок. Доступен, если скрипт запущен с помощью CScript.exe.
Замечание: только чтение.
Пример:
WScript.StdErr.Write "Hello, StdErr!"
Синтаксис: Arguments
Возвращаемое значение: объект "WshArguments" - коллекция параметров, с которыми был запущен скрипт. Объект "WshArguments" имеет ряд свойств и методов, позволяющих, например, обращаться к именным и безымянным параметрам скрипта по отдельности, и т.д.
Замечание:только чтение. Приведённый ниже пример можно запустить например так:
wscript.exe Path /param1 /param2
где "Path" - путь к файлу скрипта.
Пример:
For Each Argument In WScript.Arguments MsgBox Argument Next
Синтаксис: Interactive
Возвращаемое значение: число (булево). Режим запуска скрипта - запрещён (False) или разрешён (True) диалог с пользователем. Это свойство можно как задавать внутри скрипта, так и проверять с его помощью, не был ли скрипт запущен в пакетном режиме (параметр "//B" сервера сценариев).
Замечание: чтение и запись.
Пример:
MsgBox WScript.Interactive WScript.Interactive = False MsgBox WScript.Interactive 'Это сообщение НЕ будет выведено
Синтаксис: Sleep(<Time>)
Назначение: приостановка исполнения скрипта на указанное количество миллисекунд.
Параметры: <Time> - число, количество миллисекунд.
Пример:
MsgBox Now WScript.Sleep 1000 MsgBox Now
Синтаксис: Quit(<ErrorCode>)
Назначение: завершение исполнения скрипта с указанным кодом возврата.
Параметры: <ErrorCode> - необязательный, число, код возврата приложения.
Пример:
WScript.Quit 1 MsgBox "Message!" ' Этот оператор никогда не будет исполнен.
Синтаксис: Echo(<Arg1>,<Arg2>,<Arg3>,...)
Назначение: вывод сообщения в окно MessageBox (если скрипт был запущен с помощью WScript.exe) или на консоль (если скрипт был запущен с помощью CScript.exe).
Параметры: <Arg1>,<Arg2>,<Arg3>,... - необязательные параметры. При выводе аргументы будут разделены пробелами. В случае использования CScript.exe вывод будет завершён символом новой строки. Если аргументы не заданы, будет выведена пустая строка.
Пример:
WScript.Echo "раз", 25
Синтаксис: CreateObject(<ProgID>,<Prefix>)
Назначение: создаёт программный объект автоматизации.
Параметры:
Описание: при использовании "обычной" функции VBScript "CreateObject" организовать обработку событий нельзя.
Пример:
Set Network = WScript.CreateObject("WScript.Network") MsgBox Network.ComputerName
Синтаксис: ConnectObject(<Obj>,<Prefix>)
Назначение: устанавливает соединение с объектом автоматизации для обработки его событий.
Параметры:
Описание: объект должен предоставлять интерфейс к своим событиям.
Пример:
Set objWord = CreateObject("Word.Application") Set objDocument = objWord.Documents.Add objWord.Visible = True WScript.ConnectObject objDocument, "Document_" boolDone = False Do WScript.Sleep 100 Loop Until boolDone Sub Document_Close boolDone = True WScript.Echo "Document was closed" WScript.DisconnectObject objDocument Set objDocument = Nothing End Sub
Синтаксис: DisconnectObject(<Obj>)
Назначение: разрывает соединение с объектом автоматизации (созданное ранее для обработки его событий).
Параметры: <Obj> - объект.
Описание: если соединения с объектом не было установлено ранее, метод не производит никаких действий.
Синтаксис: GetObject(<Pathname>,<ProgID>,<Prefix>)
Назначение: создаёт программный объект автоматизации.
Параметры:
Описание: метод используется, если создаваемый объект уже существует в памяти или создаётся из файла. Если создаваемый объект поддерживает создание только одного экземпляра, будет создан только один экземпляр объекта, независимо от того, сколько раз будет вызван метод GetObject.
Пример:
Set WshArg = WScript.Arguments
Синтаксис: Item(<Index>)
Возвращаемое значение: значение n-ного элемента коллекции (нумерация начинается с нуля).
Замечание: только чтение. Приведённый ниже пример можно запустить например так:
wscript.exe Path /param1
где "Path" - путь к файлу скрипта.
Пример:
Set WshArg = WScript.Arguments If WshArg.Count>0 Then MsgBox WshArg.Item(0) MsgBox WshArg(0) End If
Синтаксис: Length
Возвращаемое значение: число элементов коллекции (количество аргументов, переданных скрипту).
Замечание: только чтение. Приведённый ниже пример можно запустить например так:
wscript.exe Path /param1 /param2
где "Path" - путь к файлу скрипта.
Пример:
MsgBox WScript.Arguments.Length
Синтаксис: Named
Возвращаемое значение: коллекция именных параметров, переданных скрипту.
Замечание:только чтение. Приведённый ниже пример можно запустить например так:
wscript.exe Path /Name:"Vasya Pupkin" param2 /Computer:Server01 param4
где "Path" - путь к файлу скрипта.
Пример:
Set objNamed = WScript.Arguments.Named If objNamed.Exists("Name") Then WScript.Echo "Имя: " & objNamed.Item("Name") If objNamed.Exists("Computer") Then WScript.Echo "Компьютер: " & objNamed("Computer") WScript.Echo "Число именных параметров: " & objNamed.Length WScript.Echo "Число именных параметров: " & objNamed.Count
Синтаксис: Unnamed
Возвращаемое значение: коллекция безымянных параметров, переданных скрипту.
Замечание:только чтение. Приведённый ниже пример можно запустить например так:
wscript.exe Path /Name:"Vasya Pupkin" param2 /Computer:Server01 param4
где "Path" - путь к файлу скрипта.
Пример:
Set objUnnamed = WScript.Arguments.Unnamed If objUnnamed.Count>0 Then WScript.Echo "Первый безымянный параметр: " & objUnnamed.Item(0) If objUnnamed.Length>1 Then WScript.Echo "Второй безымянный параметр: " & objUnnamed(1)
Синтаксис: Count
Назначение: возвращает число элементов коллекции (количество аргументов, переданных скрипту).
Параметры: нет.
Описание: приведённый ниже пример можно запустить например так:
wscript.exe Path /param1 /param2
где "Path" - путь к файлу скрипта.
Пример:
MsgBox WScript.Arguments.Count
Синтаксис: ShowUsage
Назначение: выводит на экран информацию о запущенном сценарии (описание аргументов, пример запуска). Подобную информацию можно задать только при использовании WSH-сценариев с разметкой XML, поэтому метод имеет смысл только в таких сценариях.
Параметры: нет.
Пример:
WScript.Arguments.ShowUsage