Примеры VBS: объект WScript

Тема в разделе "Изучение основ языка", создана пользователем Dragokas, 30 янв 2014.

Статус темы:
Закрыта.
  1. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.471
    Симпатии:
    4.303
    Объект WScript
    Источник
    Составил: Людоговский Александр​

    Содержание:

    1. Создание объекта
    2. Свойства
    2.1. Timeout
    2.2. Name
    2.3. FullName
    2.4. Path
    2.5. Version
    2.6. BuildVersion
    2.7. ScriptName
    2.8. ScriptFullName
    2.9. StdIn
    2.10. StdOut
    2.11. StdErr
    2.12. Arguments
    2.13. Interactive​
    3. Методы
    3.1. Sleep
    3.2. Quit
    3.3. Echo
    3.4. CreateObject
    3.5. ConnectObject
    3.6. DisconnectObject
    3.7. GetObject​
    4. Объект WshArguments
    4.1. Создание объекта
    4.2. Свойства
    4.2.1. Item
    4.2.2. Length
    4.2.3. Named
    4.2.4. Unnamed​
    4.3. Методы
    4.3.1. Count
    4.3.2. ShowUsage​
     
    Kиpилл нравится это.
  2. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.471
    Симпатии:
    4.303
    1. Создание объекта

    Объект WScript можно использовать в сценарии WSH сразу, без какого-либо предварительного описания или создания, т.к. его экземпляр создаётся сервером сценариев (CScript.exe или WScript.exe) автоматически.

    2. Свойства

    2.1. Timeout

    Синтаксис:
    Возвращаемое значение: время в секундах, по истечении которого скрипт будет автоматически остановлен.
    Замечание: чтение и запись.

    Пример:
    Код (vb.net):
    WScript.Timeout = 5
    While 0=0 'Процессор будет загружен на 100% бесконечным циклом в течение 5 секунд
    Wend
    2.2. Name

    Синтаксис:
    Возвращаемое значение: наименование сервера сценариев.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    MsgBox WScript.Name
    2.3. FullName

    Синтаксис:
    Возвращаемое значение: полный путь к исполняемому файлу сервера сценариев.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    MsgBox WScript.FullName
    2.4. Path

    Синтаксис:
    Возвращаемое значение: полный путь к каталогу исполняемого файла сервера сценариев.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    MsgBox WScript.Path
    2.5. Version

    Синтаксис:
    Возвращаемое значение: версия сервера сценариев.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    MsgBox WScript.Version
    2.6. BuildVersion

    Синтаксис:
    Возвращаемое значение: номер сборки сервера сценариев.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    MsgBox WScript.BuildVersion
    2.7. ScriptName

    Синтаксис:
    Возвращаемое значение: имя запущенного файла скрипта.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    MsgBox WScript.ScriptName
    2.8. ScriptFullName

    Синтаксис:
    Возвращаемое значение: полный путь к запущенному файлу скрипта.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    MsgBox WScript.ScriptFullName
    2.9. StdIn

    Синтаксис:
    Возвращаемое значение: объект "TextStream", соответствующий стандартному входному потоку. Доступен, если скрипт запущен с помощью CScript.exe.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    WScript.StdOut.Write "Input: "
    s = WScript.StdIn.ReadLine
    MsgBox s
    2.10. StdOut

    Синтаксис:
    Возвращаемое значение: объект "TextStream", соответствующий стандартному выходному потоку. Доступен, если скрипт запущен с помощью CScript.exe.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    WScript.StdOut.Write "Input: "
    s = WScript.StdIn.ReadLine
    MsgBox s
    2.11. StdErr

    Синтаксис:
    Возвращаемое значение: объект "TextStream", соответствующий стандартному потоку ошибок. Доступен, если скрипт запущен с помощью CScript.exe.
    Замечание: только чтение.

    Пример:
    Код (vb.net):
    WScript.StdErr.Write "Hello, StdErr!"
    2.12. Arguments

    Синтаксис:
    Возвращаемое значение: объект "WshArguments" - коллекция параметров, с которыми был запущен скрипт. Объект "WshArguments" имеет ряд свойств и методов, позволяющих, например, обращаться к именным и безымянным параметрам скрипта по отдельности, и т.д. [/code]

    Замечание: только чтение. Приведённый ниже пример можно запустить например так:
    Код (vb.net):
    wscript.exe Path /param1 /param2
    где "Path" - путь к файлу скрипта.

    Пример:
    Код (vb.net):
    For Each Argument In WScript.Arguments
        MsgBox Argument
    Next
    2.13. Interactive

    Синтаксис:
    Возвращаемое значение: число (булево). Режим запуска скрипта - запрещён (False) или разрешён (True) диалог с пользователем. Это свойство можно как задавать внутри скрипта, так и проверять с его помощью, не был ли скрипт запущен в пакетном режиме (параметр "//B" сервера сценариев).
    Замечание: чтение и запись.

    Пример:
    Код (vb.net):
    MsgBox WScript.Interactive
    WScript.Interactive = False
    MsgBox WScript.Interactive 'Это сообщение НЕ будет выведено
    3. Методы

    3.1. Sleep

    Синтаксис:
    Назначение: приостановка исполнения скрипта на указанное количество миллисекунд.

    Параметры:
    <Time> - число, количество миллисекунд.

    Пример:
    Код (vb.net):
    MsgBox Now
    WScript.Sleep 1000
    MsgBox Now
    3.2. Quit

    Синтаксис:
    Назначение: завершение исполнения скрипта с указанным кодом возврата.

    Параметры:
    <ErrorCode> - необязательный, число, код возврата приложения.

    Пример:
    Код (vb.net):
    WScript.Quit 1
    MsgBox "Message!" ' Этот оператор никогда не будет исполнен.
    3.3. Echo

    Синтаксис:
    Назначение: вывод сообщения в окно MessageBox (если скрипт был запущен с помощью WScript.exe) или на консоль (если скрипт был запущен с помощью CScript.exe).

    Параметры:
    <Arg1>,<Arg2>,<Arg3>,... - необязательные параметры. При выводе аргументы будут разделены пробелами. В случае использования CScript.exe вывод будет завершён символом новой строки. Если аргументы не заданы, будет выведена пустая строка.

    Пример:
    Код (vb.net):
    WScript.Echo "раз", 25
    3.4. CreateObject

    Синтаксис:
    Назначение: создаёт программный объект автоматизации.

    Параметры:
    <ProgID> - строка, программный идентификатор объекта (ProgID).
    <Prefix> - необязательный, строка. Префикс функций-обработчиков событий. Если объект предоставляет интерфейсы для связи с событиями, после создания объекта с указанием этого параметра в сценарии можно обрабатывать события, возникающие в этом объекте. Когда объект сообщает о возникновении события, сервер сценариев вызывает соответствующую функцию. Например, если был указан префикс "Evt_", а событие называется "OnBegin", будет вызвана функция "Evt_OnBegin", которая должна быть описана в сценарии.

    Описание: при использовании "обычной" функции VBScript "CreateObject" организовать обработку событий нельзя.

    Пример:
    Код (vb.net):
    Set Network = WScript.CreateObject("WScript.Network")
    MsgBox Network.ComputerName
    3.5. ConnectObject

    Синтаксис:
    Назначение: устанавливает соединение с объектом автоматизации для обработки его событий.

    Параметры:
    <Obj> - объект.
    <Prefix> - строка. Префикс функций-обработчиков событий. Когда объект сообщает о возникновении события, сервер сценариев вызывает соответствующую функцию. Например, если был указан префикс "Evt_", а событие называется "OnBegin", будет вызвана функция "Evt_OnBegin", которая должна быть описана в сценарии.

    Описание: объект должен предоставлять интерфейс к своим событиям.

    Пример:
    Код (vb.net):
    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
    3.6. DisconnectObject

    Синтаксис:
    Назначение: разрывает соединение с объектом автоматизации (созданное ранее для обработки его событий).

    Параметры:
    <Obj> - объект.

    Описание: если соединения с объектом не было установлено ранее, метод не производит никаких действий.

    3.7. GetObject

    Синтаксис:
    Назначение: создаёт программный объект автоматизации.

    Параметры:
    <Pathname> - строка, полный путь к файлу, содержащему объект.
    <ProgID> - необязательный, строка. Программный идентификатор объекта (ProgID).
    <Prefix> - необязательный, строка. Префикс функций-обработчиков событий. Если объект предоставляет интерфейсы для связи с событиями, после создания объекта с указанием этого параметра в сценарии можно обрабатывать события, возникающие в этом объекте. Когда объект сообщает о возникновении события, сервер сценариев вызывает соответствующую функцию. Например, если был указан префикс "Evt_", а событие называется "OnBegin", будет вызвана функция "Evt_OnBegin", которая должна быть описана в сценарии.

    Описание: метод используется, если создаваемый объект уже существует в памяти или создаётся из файла. Если создаваемый объект поддерживает создание только одного экземпляра, будет создан только один экземпляр объекта, независимо от того, сколько раз будет вызван метод GetObject.

    4. Объект WshArguments

    4.1. Создание объекта

    Пример:
    Код (vb.net):
    Set WshArg = WScript.Arguments
    4.2. Свойства

    4.2.1. Item

    Синтаксис:
    Возвращаемое значение: значение n-ного элемента коллекции (нумерация начинается с нуля).
    Замечание: только чтение. Приведённый ниже пример можно запустить например так:
    Код (vb.net):
    wscript.exe Path /param1
    где "Path" - путь к файлу скрипта.

    Пример:
    Код (vb.net):
    Set WshArg = WScript.Arguments
    If WshArg.Count>0 Then
        MsgBox WshArg.Item(0)
        MsgBox WshArg(0)
    End If
    4.2.2. Length

    Синтаксис:
    Возвращаемое значение: число элементов коллекции (количество аргументов, переданных скрипту).
    Замечание: только чтение. Приведённый ниже пример можно запустить например так:
    Код (vb.net):
    wscript.exe Path /param1 /param2

     где "Path" - путь к файлу скрипта.
    Пример:
    Код (vb.net):
    MsgBox WScript.Arguments.Length
    4.2.3. Named

    Синтаксис:
    Возвращаемое значение: коллекция именных параметров, переданных скрипту.
    Замечание: только чтение. Приведённый ниже пример можно запустить например так:
    Код (vb.net):
    wscript.exe Path /Name:"Vasya Pupkin" param2 /Computer:Server01 param4
    где "Path" - путь к файлу скрипта.

    Пример:
    Код (vb.net):
    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
    4.2.4. Unnamed

    Синтаксис:
    Возвращаемое значение: коллекция безымянных параметров, переданных скрипту.
    Замечание: только чтение. Приведённый ниже пример можно запустить например так:
    Код (vb.net):
    wscript.exe Path /Name:"Vasya Pupkin" param2 /Computer:Server01 param4
    где "Path" - путь к файлу скрипта.

    Пример:
    Код (vb.net):
    Set objUnnamed = WScript.Arguments.Unnamed
    If objUnnamed.Count>0 Then WScript.Echo "Первый безымянный параметр: " & objUnnamed.Item(0)
    If objUnnamed.Length>1 Then WScript.Echo "Второй безымянный параметр: " & objUnnamed(1)
    4.3. Методы

    4.3.1. Count

    Синтаксис:
    Назначение: возвращает число элементов коллекции (количество аргументов, переданных скрипту).

    Параметры: нет.

    Описание: приведённый ниже пример можно запустить например так:
    Код (vb.net):
    wscript.exe Path /param1 /param2
    где "Path" - путь к файлу скрипта.

    Пример:
    Код (vb.net):
    MsgBox WScript.Arguments.Count
    4.3.2. ShowUsage

    Синтаксис:
    Назначение: выводит на экран информацию о запущенном сценарии (описание аргументов, пример запуска). Подобную информацию можно задать только при использовании WSH-сценариев с разметкой XML, поэтому метод имеет смысл только в таких сценариях.
    Параметры: нет.

    Пример:
    Код (vb.net):
    WScript.Arguments.ShowUsage
     
    sov44 и Kиpилл нравится это.
Статус темы:
Закрыта.

Поделиться этой страницей