Перейти на главную страничку сайта (список статей, файлы для скачивания)
ФОРУМ (здесь можно обсудить эту статью, а также любые проблемы программирования на различных макроязыках и в скриптовых средах)
Описание объектов Windows Script Host, их свойств и методов
Introduction to VBScript Echo Confirmation Message
The purpose of the WSH pop-up message is to let you know that the script has completed successfully. It can also give you valuable extra information, for instance, the number of objects created, and the container where they are ‘born’.
To Echo the Name Set by the strComputer Variable
This is a very basic script, which fits with my aim to start simply.
This script is suitable for most Windows clients going right back to XP, W2K, even NT 4.0 and Win 9x.
Instructions for Creating your WMI Script
Script to Demonstrate the Basics of VBScript Echo
Set objRoot = GetObject(“LDAP://rootDSE”) Set objDomain = GetObject(“LDAP://” & objRoot.Get(“defaultNamingContext”))
Set objContainer = GetObject(“LDAP://OU=BulkGuy,” & _ objRootDSE.Get(“defaultNamingContext”))
Using the WScript. Echo method to pop-up a message.
Download Permissions Analyser – Free Active Directory Tool
Introducing the variable intUser into the. Echo method.
Note 2: To join the variable with the string use ampersand (&) not plus. This method is called concatenation.
Note 3: The space between the speech marks and the 10 is trivial item, but it improves readability.
See more VBScript WMI examples
• WMI Tutorial • Win32_Process • WMI Memory • WMI Basics • Free Download of WMI Monitor
• WMI VBS • VBScript Services • WMI Disks • WMI Physical Disks
Обработка аргументов
WshArguments содержит коллекцию всех параметров командной строки запущенного сценария или ярлыка Windows.
С помощью объекта WshArguments можно также выделять и отдельно обрабатывать аргументы сценария, у которых имеются имена
и к так называемым безымянным аргументам.
Для доступа к именным и безымянным аргументам используются соответственно два специальных свойства объекта
WshArguments: Named и Unnamed.
Свойство Named содержит ссылку на коллекцию WshNamed, свойство Unnamed — на коллекцию WshUnnamed.
Таким образом, обрабатывать параметры командной строки запущенного сценария можно
фактически четырьмя способами:
- просматривать полный набор всех параметров (как именных, так и безымянных) с помощью коллекции WshArguments;
- выделить только те параметры, у которых есть имена (именные параметры) с помощью коллекции WshNamed;
- выделить только те параметры, у которых нет имен (безымянные параметры) с помощью коллекции WshUnnamed.
- обрабатывать элементы коллекции WshArguments стандартным образом как коллекцию
Рассмотрим каждый способ подробнее.
Способ первый – обработать все параметры, переданные скрипту.
Здесь, как мне кажется, все достаточно понятно.
В качестве упражнения можете создать файл с содержанием вышеприведенного примера, сохранить его
с расширением JS, и запустить на обработку с несколькими аргументами.
Аргументы разделяются пробелом. Если значение параметра должно содержать пробел, то его следует заключить в кавычки.
Второй способ – разбор только именных ( или именованных ) аргументов.
Объект WshNamed содержит коллекцию параметров командной строки запущенного сценария,
у которых имеется уникальное имя (именные параметры).
В WSH именной параметр всегда начинается с символа “/”,
после чего приводится имя этого параметра, затем ставится двоеточие “:” и пишется значение параметра, например:
В качестве значения именного параметра рассматривается набор символов,
начинающихся после двоеточия и заканчивающихся перед первым встретившимся пробелом.
Для того чтобы значением параметра командной строки была строка, содержащая пробел (пробелы),
необходимо заключить эту строку в кавычки. Например:.
Создается объект WshNamed с помощью свойства Named коллекции WshArguments.
Для того чтобы получить значение определенного аргумента, его имя используется в качестве индекса коллекции.
Узнать число именных параметров можно только с помощью свойства Length коллекции WshNamed,
метода Count у этой коллекции нет.
Пример разбора именованных аргументов.
Для того чтобы узнать, был ли указан при запуске сценария тот или иной именной параметр,
используется метод Exists объекта WshNamed. Например,
И третий способ – разбор только безымянных аргументов.
В коллекции WshUnnamed содержатся параметры командной строки запущенного сценария,
у которых нет имени (безымянные параметры).
Создается этот объект с помощью свойства Unnamed коллекции WshArguments.
Для того чтобы получить значение определенного аргумента,
его номер используется в качестве индекса коллекции (нумерация начинается с нуля).
Узнать число безымянных параметров можно только с помощью свойства Length.
Или обработать все безымянные аргументы
Обрабатывать элементы коллекции WshArguments можно (хоть и менее удобно) стандартным
образом как коллекцию. Для JScript, например, – создать
объект Enumerator и использовать его методы.
Возможно вы обратили внимание, что синтаксис части аргументов некоторых команд
соответствует синтаксису именованных аргументов. Например, такая часто используемая команда
как net use. Вспомним некоторые из ее аргументов:
Так что такой синтаксис не должен выглядеть как нечто необычное.
При использовании именованных аргументов не имеет значения порядок их следования.
Это с одной стороны упрощает использование скрипта, так как нет необходимости запоминать
в каком порядке следует передавать аргументы.
С другой стороны кроме значение необходимо передавать и имя аргумента,
что может вызвать протест в тонкой душе лентяя.
Поэтому я не стану давать общих рекомендаций о предпочтительности того
или иного способа передачи аргументов.
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать
раздел форума
этого сайта (требуетс¤ регистраци¤).
Объект WScript
Тут совсем просто)).
Объект WScript можно использовать в сценарии сразу, без его создания,
т.к. его экземпляр создаётся сервером сценариев
(CScript.exe или WScript.exe) автоматически.
Объект WScript. Свойство Timeout.
Время в секундах, по истечении которого скрипт будет автоматически остановлен.
Замечание: чтение и запись.
Следует отметить, что при запуске сценариев из командной строки есть параметр //T
который ограничивает максимальное время работы скрипта.
Подробнее о параметрах запуска скриптов смотрите здесь.
Если время исполнения скрипта превысит 5 секунд, он будет завершен.
Объект WScript. Свойство Name.
Наименование сервера сценариев.
MsgBox “Name=” & WScript.Name
В моем случае результат был Windows Script Host.
Объект WScript. Свойство FullName.
Полный путь к исполняемому файлу сервера сценариев.
MsgBox “FullName=” & WScript.FullName
В моем случае результат был c:windowssystem32WScript.exe
Объект WScript. Свойство Path.
Полный путь к каталогу исполняемого файла сервера сценариев.
MsgBox “Path=” & WScript.Path
Объект WScript. Свойство Version.
Версия сервера сценариев.
Замечание: только чтение.
MsgBox “Version=” & WScript.Version
Объект WScript. Свойство BuildVersion.
Номер сборки сервера сценариев.
Замечание: только чтение.
MsgBox “BuildVersion=” & WScript.BuildVersion
Объект WScript. Свойство ScriptName.
Имя запущенного файла скрипта.
Замечание: только чтение.
MsgBox “ScriptName=” & WScript.ScriptName
Объект WScript. Свойство ScriptFullName.
Полный путь и имя запущенного файла скрипта.
Замечание: только чтение.
MsgBox “ScriptFullName=” & WScript.ScriptFullName
Объект WScript. Свойство StdIn.
Возвращает объект “TextStream”, соответствующий стандартному входному потоку.
Замечание: свойство доступно только если скрипт был запущен с помощью CScript.exe.
WScript.StdOut.Write “Input: ”
s = WScript.StdIn.ReadLine
MsgBox s
Объект WScript. Свойство StdOut.
Возвращает объект “TextStream”, соответствующий стандартному выходному потоку.
Замечание: свойство доступно только если скрипт был запущен с помощью CScript.exe.
Объект WScript. Свойство StdErr.
Возвращает объект “TextStream”, соответствующий стандартному потоку ошибок.
Замечание: свойство доступно только если скрипт был запущен с помощью CScript.exe.
WScript.StdErr.Write “Hello, StdErr!”
В командном окне (cmd) введите CScript.exe tst2.vbs
где tst2.vbs – имя, под которым сохранили предыдущий пример.
Стандартный поток ошибок будет выведен на экран, где вы и увидите сообщение.
Объект WScript. Свойство Arguments.
Возвращает объект “WshArguments”, который имеет ряд свойств и методов,
позволяющих обращаться к именным и безымянным параметрам.
Более подробно работа с параметрами описана здесь.
Объект WScript. Свойство Interactive.
Режим запуска скрипта – запрещён (False) или разрешён (True) диалог с пользователем.
Это свойство позволяет определять в каком режиме был запущен скрипт
( //B – Пакетный режим или //I – Диалоговый режим.
Подробнее о параметрах запуска скриптов смотрите здесь).
Свойство позволяет так же переопределить этот режим.
Замечание: чтение и запись.
WScript.Interactive = False
Объект WScript. метод Sleep.
Приостановка исполнения скрипта на указанное количество миллисекунд.
MsgBox Start
WScript.Sleep 1000
MsgBox After Sleep 1000
Объект WScript. метод Quit.
Завершение исполнения скрипта с указанным кодом возврата.
Параметры: ErrorCode – необязательный, число, код возврата приложения.
Объект WScript. метод Echo.
Вывод сообщения в окно MessageBox (если скрипт был запущен с помощью WScript.exe)
или на консоль (если скрипт был запущен с помощью CScript.exe).
Если аргументы не заданы, будет выведена пустая строка.
Перечисленные через запятую аргументы при выводе будут разделены пробелами.
В случае использования CScript.exe вывод будет завершён символом новой строки
Объект WScript. метод CreateObject.
Set WshNetwork = WScript.CreateObject(“WScript.Network”)
Объект WScript. метод ConnectObject.
Разрывает соединение с объектом автоматизации (созданное ранее для обработки его событий).
Синтаксис: DisconnectObject(Obj)
где Obj – объект.
Объект WScript. Объект WshArguments.
Как уже упоминалось, свойство Arguments
возвращает объект WshArguments. Настало время рассмотреть этот объект.
Сразу хотелось бы отметить, что практическая сторона вопроса – работа с объектом
рассмотрена на другой странице этого проекта –
WSH. Обработка аргументов.
Объект WshArguments. Создание объекта.
Объект WshArguments создается свойством Arguments.
Set WshArg = WScript.Arguments
Объект WScript. Свойство Item.
Синтаксис: Item(Index)
где Index – номер элемента в коллекции.
Возвращаемое значение – элемент коллекции.
Только чтение.
Объект WScript. Свойство Length.
Синтаксис: LengthПараметров нет.
Возвращаемое значение – число элементов коллекции
(количество аргументов, переданных скрипту).
Только чтение.
Объект WScript. Свойство Named.
Синтаксис: NamedПараметров нет.
Возвращаемое значение – коллекция именных (именованных) параметров, переданных скрипту).
Только чтение.
Объект WScript. Свойство Unnamed.
Синтаксис: LengthПараметров нет.
Возвращаемое значение – коллекция безымянных (не именованных) параметров, переданных скрипту).
Только чтение.
Объект WScript. Метод Count.
Синтаксис: CountПараметров нет.
Возвращает число элементов коллекции (количество аргументов, переданных скрипту).
Только чтение.
Объект WScript. Метод ShowUsage.
Еще раз напоминаю, что примеры работы с аргументами рассмотрены на другой странице этого проекта –
WSH. Обработка аргументов.
За более подробной информацией обращайтесь в MSDN.
На момент написания страницы это было
здесь.
Метод Echo объекта Wscript
Для корректного отображения символов
кириллицы, необходимо представить их
в Wi ndows-кодировке
(CP 1251).
Печать строки текста:
Печать строки текста и результатов
вычислений:
Для вывода на экран многострочного
текста в концы строк нужно вставить
символы перевода строки: vbCrLf.
AppActivate
Назначение: активизирует указанное окно какого-либо приложения. Возвращает True в случае успеха и False в случае неудачи.
Описание: если в качестве параметра указан заголовок окна приложения, значение параметра сравнивается по очереди с заголовками окон всех запущенных приложений. Если не найдено ни одного точного совпадения, будет производиться поиск окна, заголовок которого начинается с указанной строки. Если и в этом случае не будет найдено ни одного подходящего окна, будет производиться поиск окна, заголовок которого заканчивается на указанную строку. Если будет найдено несколько подходящих окон, произойдёт активизация одного из них (произвольно).
Set WshShell = CreateObject(“WScript.Shell”)
Set WshExec = WshShell.Exec(“notepad”)
WScript.Sleep 2000
Res = WshShell.AppActivate(WshExec.ProcessID)
If Res Then WshShell.SendKeys(“0123456789”)
Возвращаемое значение: объект “TextStream”, соответствующий стандартному выходному потоку запущенной задачи.
Set WshShell = CreateObject(“WScript.Shell”)
Set WshExec = WshShell.Exec(“nslookup”)
Set InStream = WshExec.StdIn
InStream.WriteLine “help”
InStream.WriteLine “exit”
Set OutStream = WshExec.StdOut
Str = vbNullString
While Not OutStream.AtEndOfStream
Str = Str & Trim(OutStream.ReadLine()) & vbCrLf
Wend
MsgBox Str
RegRead
Назначение: читает из реестра заданный параметр или значение по умолчанию для раздела.
Описание: если “Name” оканчивается символом “”, метод считывает значение по умолчанию для раздела, в противном случае считывается параметр. Параметр “Name” должен начинаться с одного из корневых ключей:
- HKEY_LOCAL_MACHINE – HKLM
- HKEY_CLASSES_ROOT – HKCR
- HKEY_CURRENT_CONFIG – HKEY_CURRENT_CONFIG
If name. Exists(“a”) Then ‘если существует параметр “a” объекта name, то
msgbox
name(“a”)
‘вывести значение параметра “a”
Else
msgbox “Параметр не введен”
‘иначе вывести сообщение об его
отсутствии
Для доступа к значениям безымянных
параметров используются их номера.
Нумерация начинается с нуля:
Узнать количество безымянных параметров
можно с помощью свойства Length:
If
name.length=1
Then ‘ проверка, введен ли
в командную строку один параметр
msgbox
name.item(0) ‘
вывод значения параметра, возможна
запись name(0)
Else
msgbox “количество
параметров не соответствует задаче”
CreateShortcut
Назначение: возвращает объект “WshShortcut” или “WshURLShortcut”, указывающий на ярлык .lnk или .url.
Set WshShell = CreateObject(“WScript.Shell”)
Set WshURLShortcut = WshShell.CreateShortcut(“C:Microsoft.url”)
WshURLShortcut.TargetPath = “http://microsoft.com”
WshURLShortcut.Save
Status
Возвращаемое значение: состояние запущенного процесса. Возможные значения:
- 0 – приложение запущено.
- 1 – приложение завершено.
Set WshShell = CreateObject(“WScript.Shell”)
Set WshExec = WshShell.Exec(“notepad”)
WScript.Sleep 2000
MsgBox “status – ” & WshExec.Status
WshExec.Terminate
WScript.Sleep 2000
MsgBox “status – ” & WshExec.Status
LogEvent
Назначение: протоколирует событие в журнале WindowsNT или в файле WSH.log. Возвращает True в случае успеха и False в противном случае.
- 0 – SUCCESS
- 1 – ERROR
- 2 – WARNING
- 4 – INFORMATION
- 8 – AUDIT_SUCCESS
- 16 – AUDIT_FAILURE
Описание: в Windows NT/200/XP события записываются в системном журнале, а в Windows 9x – в файле WSH.log, который находится в каталоге пользователей.
Set WshShell = CreateObject(“WScript.Shell”)
WshShell.LogEvent 4, “Test event!”
ExitCode
Возвращаемое значение: код выхода, устанавливаемый дочерней задачей при завершении выполнения.
Set WshShell = CreateObject(“WScript.Shell”)
‘запуск “xcopy” с заведомо ошибочными параметрами
Set WshExec = WshShell.Exec(“xcopy abc123”)
‘пауза для запуска приложения
WScript.Sleep 2000
‘чтение кода выхода
MsgBox WshExec.ExitCode
RegWrite
Назначение: записываает в реестр заданный параметр или раздел.
Описание: если “Name” оканчивается символом “”, метод записывает раздел, в противном случае записывается параметр. Параметр “Name” должен начинаться с одного из корневых ключей:
ExpandEnvironmentStrings
Назначение: возвращает значение переменной среды текущего командного окна.
Set WshShell = CreateObject(“WScript.Shell”)
MsgBox WshShell.ExpandEnvironmentStrings(“%WinDir%”)
Возвращаемое значение: строка, параметры командной строки программы, запускаемой ярлыком.
Set WshShell = CreateObject(“WScript.Shell”)
Set WshShortcut = WshShell.CreateShortcut(“C:Notepad.lnk”)
WshShortcut.Arguments = “C:autoexec.bat”
WshShortcut.Description = “Пробный ярлык”
WshShortcut.HotKey = “CTRL+ALT+F”
WshShortcut.IconLocation = “shell32.dll, 5”
WshShortcut.TargetPath = “notepad.exe”
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = “C:”
MsgBox WshShortcut.FullName
WshShortcut.Save
TargetPath
Возвращаемое значение: строка, содержащая путь к исполняемому файлу.
Возвращаемое значение: строка, полный путь к файлу ярлыка.
Возвращаемое значение: объект “TextStream”, соответствующий стандартному входному потоку запущенной задачи.
Set WshShell = CreateObject(“WScript.Shell”)
Set WshUrlShortcut = WshShell.CreateShortcut(“C:Microsoft.url”)
WshUrlShortcut.TargetPath = “http://microsoft.com”
MsgBox WshUrlShortcut.FullName
WshUrlShortcut.Save
ProcessID
Возвращаемое значение: идентификатор запущенного процесса (PID).
Set WshShell = CreateObject(“WScript.Shell”)
Set WshExec = WshShell.Exec(“notepad”)
WScript.Sleep 2000
WshShell.AppActivate WshExec.ProcessID
WshShell.SendKeys “0123456789”
Exec
Назначение: создаёт новый дочерний процесс (т.е. процесс с теми же переменными среды), который запускает заданное консольное приложение. Возвращается объект “WshScriptExec”, который позволяет контролировать ход выполнения запущенного приложения и обеспечивает доступ к потокам StdIn, StdOut и StdErr этого приложения.
Описание: с помощью данного метода можно запускать и графические оконные приложения. В этом случае возвращаемый объект “WshScriptExec” полезен тем, что позволяет получить идентификатор запущенного процесса, который можно использовать, например, для активизации приложения с помощью метода AppActivate.
Set WshShell = CreateObject(“WScript.Shell”)
Set WshExec = WshShell.Exec(“nslookup 127.0.0.1”)
WScript.Sleep 7000
Set TextStream = WshExec.StdOut
Str = vbNullString
While Not TextStream.AtEndOfStream
Str = Str & Trim(TextStream.ReadLine()) & vbCrLf
Wend
MsgBox Str
Set WshShell = CreateObject(“WScript.Shell”)
Set WshExec = WshShell.Exec(“notepad”)
WScript.Sleep 2000
WshShell.AppActivate(WshExec.ProcessID)
WshShell.SendKeys “0123456789”
WindowStyle
Возвращаемое значение: число, определяющее вид окна запускаемого приложения. Возможные значения:
- 1 – Стандартное окно.
- 3 – Максимизированное окно.
- 7 – Минимизированное окно.
Vbscript Sample. Vbs /возраст
Значения переменных имя и возраст можно
передать как безымянные параметры (в
этом случае важен порядок следования
аргументов).
Для работы с аргументами командной
строки, в сценарии сначала нужно создать
переменные, являющиеся объектами
WshArguments, для чего используется
свойство Arguments объекта
Wscript:
Set
objArgs=WScript.Arguments
‘создается переменная objArgs.
Параметры могут быть именные и безымянные.
Именные задаются с помощью объекта
WshNamed, безымянные с помощью
WshUnnamed:
Set name=objargs. Unnamed
‘создается безымянный
параметр name
Set name=objargs. Named
‘создается именной параметр name
При использовании именных параметров
в вызове сценария следует указывать
имя параметра и через двоеточие его
значение, например:
Если параметр безымянный, то указывается
только значение, например
При работе с параметрами необходимо
проверять существуют ли параметры, то
есть, были ли они введены в командную
строку. Например, проверим, существует
ли именной параметр “a”:
IconLocation
Возвращаемое значение: строка, содержащая расположение иконки для ярлыка в формате “путь к файлу, индекс иконки”. Индексы иконок начинаются с нуля.
Возвращаемое значение: объект “TextStream”, соответствующий стандартному потоку ошибок запущенной задачи.
Set WshShell = CreateObject(“WScript.Shell”)
Set WshExec = WshShell.Exec(“nslookup”)
Set InStream = WshExec.StdIn
InStream.WriteLine “abc123”
InStream.WriteLine “exit”
Set OutStream = WshExec.StdErr
Str = vbNullString
While Not OutStream.AtEndOfStream
Str = Str & Trim(OutStream.ReadLine()) & vbCrLf
Wend
MsgBox Str
Метод Write и WriteLine объекта wScript. StdOut
Данные методы можно применять только
в консольном режиме.
Метод Write и WriteLine
выводят строки, Write выводит
строку и оставляет курсор в конце строки,
WriteLine переводит курсор
на следующую строку.
WScript.StdOut.Write
“Вывод строки без перехода на следующую
строку”
WScript.StdOut.WriteLine
“Вывод строки с текущей позиции
курсора”
Можно при использовании указанных
методов сохранять ссылки на стандартный
выходной поток WScript.StdOut
в отдельную переменную, а затем при
вызове методов Write и
WriteLine использовать ее.
Dim n,
St ‘объявление переменных
Set
St=WScript.StdOut
‘Сохранение ссылки на StdOut
в переменную.
St.WriteLine
“1+2=” & n ‘Вывод строки
Save
Назначение: сохраняет ярлык.
CurrentDirectory
Возвращаемое значение: строка, путь к текущему каталогу.
Set WshShell = CreateObject(“WScript.Shell”)
MsgBox WshShell.CurrentDirectory
Popup
Назначение: выводит на экран модальное окно сообщения.
- 0 – кнопка ОК.
- 1 – кнопки ОК и Отмена.
- 2 – кнопки Стоп, Повтор, Пропустить.
- 3 – кнопки Да, Нет, Отмена.
- 4 – кнопки Да и Нет.
- 5 – кнопки Повтор и Отмена.
- 16 – значок Stop.
- 32 – значок Question.
- 48 – значок Exclamation.
- 64 – значок Information.
Описание: возвращает целое значение, с помощью которого можно узнать, какая кнопка быля нажата пользователем. Возможные значения:
- -1 – таймаут.
- 1 – кнопка ОК.
- 2 – кнопка Отмена.
- 3 – кнопка Стоп.
- 4 – кнопка Повтор.
- 5 – кнопка Пропустить.
- 6 – кнопка Да.
- 7 – кнопка Нет.
Set WshShell = CreateObject(“WScript.Shell”)
WshShell.Popup “Текст сообщения”,, “Текст заголовка”, 4+16
WorkingDirectory
Возвращаемое значение: строка, путь к рабочему каталогу ярлыка.
Если же этот сценарий выполнялся с помощью wscript.exe, то строки по очереди выводятся в диалоговые окна с единственной кнопкой OK (рис. 2.2).
Часто бывает необходимо выводить в диалоговое окно не по одной строке текста, а сразу несколько таких строк (рис. 2.3). Для этого нужно формировать строки, содержащие символы перевода строки: escape-последовательность “n” для JScript и предопределенная именованная константа vbCrLf для VBScript (соответствующие примеры сценариев приведены в листингах 2.3 и 2.4).




Рис. 2.3. Диалоговое окно с несколькими строками текста
Листинг 2. Вывод в диалоговое окно нескольких строк (JScript)
Назначение: пытается закрыть приложение, посылая ему сообщение WM_CLOSE. Если это не срабатывает, задача завершается принудительно.
Возвращаемое значение: строка, содержащая путь к документу Интернет.
Функции MsgBox
С помощью функции Msgbox
можно выводить информацию в диалоговое
окно с несколькими кнопками, можно
задавать заголовок и значок окна.
MsgBox(строковая переменная,
кнопки диалогового окна, заголовок
окна)
Константы диалоговых окон
Результаты нажатия кнопок в диалоговых
окнах
Dim Res,
Text, Title
‘объявление переменных
‘в
диалоговом окне присутствуют кнопки
Ok, Cancel и
значок информационного окна
if
Res=vbOk then
MsgBox “Нажата кнопка Ok”
Else MsgBox
“Нажата кнопка отмена” End
If
‘определили какая
кнопка нажата
Vbscript Sample. Vbs /имя
Возвращаемое значение: строка, содержащая названия горячих клавиш, разделённые знаком “+”.
Возвращаемое значение: объект-коллекция “WshEnvironment”, содержащая переменные среды. Необязательный параметр “Type” – строка, задаёт вид переменных. Возможные значения:
- “System” – переменные среды операционной системы (в Windows NT/2000 – это параметр по умолчанию).
- “Volatile” – временные переменные.
- “Process” – переменные среды текущего командного окна (в Windows 95/98/Me – это единственно возможный параметр).
Замечание: чтение и запись. В коллекцию можно добавлять элементы и удалять их.
Set WshShell = CreateObject(“WScript.Shell”)
Set WshEnv = WshShell.Environment
MsgBox WshEnv.Item(“WINDIR”)
Составление – Людоговский Александр
Run
Назначение: создаёт новый независимый процесс, который запускает заданное приложение.
- 0 – Не отображает окно.
- 1 – Активизирует и отображает окно.
- 2 – Активизирует окно и отображает его в свёрнутом виде.
- 3 – Активизирует окно и отображает его в максимизированном виде.
Описание: если параметр “WaitOnReturn” установлен в True, метод возвращает код выхода вызванного приложения. Иначе метод всегда возвращает ноль.
Set WshShell = CreateObject(“WScript.Shell”)
WshShell.Run “explorer /e,/root,””C:Program Files”””
Set WshShell = CreateObject(“WScript.Shell”)
RetCode = WshShell.Run(“notepad”, 1, True)
MsgBox “Обработка завершена! Код возврата – ” & RetCode
RegDelete
Назначение: удаляет из реестра заданный параметр или раздел целиком.
Описание: если “Name” оканчивается символом “”, метод удаляет ключ целиком, в противном случае удаляется параметр. Параметр “Name” должен начинаться с одного из корневых ключей:
Description
Возвращаемое значение: объект-коллекция “SpecialFolders”, содержащая пути к специальным папкам Windows. Некоторые специальные папки:
Set WshShell = CreateObject(“WScript.Shell”)
Set SpecialFolders = WshShell.SpecialFolders
MsgBox SpecialFolders.Item(“Desktop”)
MsgBox WshShell.SpecialFolders(“Desktop”)
Работа с параметрами командной строки сценария
Используя аргументы командной строки,
в сценарии можно передавать различную
информацию, например переключатели,
имена пользователей и компьютеров. При
задании аргумента можно указать либо
только его значение. Либо имя вместе со
значением в формате
В имени аргумента и его значении могут
использоваться символы кириллицы.
Например, вызов сценария с параметрами
может выглядеть так:
SendKeys
Назначение: посылает одно или несколько нажатий клавиш в активное окно (имитация набора на клавиатуре).
Описание: каждая клавиша задаётся своим символом. Например, чтобы задать нажатие друг за другом клавиш А, Б и В, нужно указать в качестве параметра строку “АБВ”. Некоторые специальные символы следует всегда задавать заключёнными в фигурные скобки. Перечень таких символов:
Задание неотображаемых символов и специальных клавиш:
Метод не может быть использован для посылки нажатий клавиш в приложения MS-DOS.



