Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Объекты WSH




В поставку Windows Scripting Host входят 4 объекта: Wscript, WshShell, WshNetwork, и FileSystemObject.

Каждый объект, естественно, имеет набор собственных методов и свойств.

Объект Wscript позволяет скриптам "познать самих себя". Вдобавок этот объект позволяет скриптам запускать приложения и управлять ими. Основные свойства и методы этого объекта перечислены в таблице 1.

Таблица 1. Методы и свойства объекта WScript

Свойство Описание
Arguments Возвращает указатель на список аргументов командной строки
FullName Возвращает имя исполняемого файла хоста и полный путь к нему (например, C:\Windows\wscript.exe)
Name Выводит замечательную надпись Windows Scripting Host
Path Определяет каталог и путь, содержащие wscript.exe или cscript.exe
ScriptFullName Возвращает полный путь и имя исполняемого в данный момент скрипта
ScriptName То же, что и ScriptFullName, но без пути
Version Возвращает версию установленного Windows Scripting Host

 

 

Метод Описание
CreateObject Создает объект по его ProgID
ConnectObject Позволяет подключиться к событиям объекта. В качестве параметра принимает объект, к которому надо подключиться и префикс соответствующих событиям процедур, реализованных в скрипте
DisconnectObject Отключает от объекта, подключенного предыдущим методом
Echo Выводит текстовую строку (в cscript - в StdOut, в Wscript - в виде диалогового окна.
GetObject Позволяет получить указатель на объект из файла или объекта, указанного в параметре strProgID.
Quit Завершает скрипт
Sleep Переводит скрипт в неактивное состояние на время, указанное в миллисекундах

 

Объект WshShell позволяет скриптам устанавливать и конфигурировать другие приложения. Он также дает возможность общаться с пользователем, изменять Реестр и находить папки. Некоторые его свойства и методы перечислены в таблице 2.

Таблица 2. Свойства и методы объекта WshShell

Свойство Описание
Environment Возвращает объект, который позволяет получить значения переменных среды, например Set WSHShell = CreateObject("WScript.Shell") Set WshSysEnv = WshShell.Environment("Process") WScript.Echo WshSysEnv("windir")
SpecialFolders Возвращает полный путь к специальным папкам типа меню Пуск. Вот список доступных папок: AllUsersDesktop, AllUsersStartMenu, AllUsersPrograms, AllUsersStartup, Desktop, Favorites, Fonts, MyDocuments, NetHood, PrintHood, Programs, Recent, SendTo, StartMenu, Startup, Templates.

 

Метод Описание
Run Запускает приложение. strCommand - исполняемая команда, параметр intWindowStyle позволяет управлять положением и поведением окон, а bWaitOnReturn позволяет указать объекту WshShell, надо ли ожидать окончания выполнения запущенного приложения.
Popup Ещё один способ вывести текст в окне
CreateShortcut Создает ярлыки файлов или URL
RegRead Возвращает значение ключа или записи реестра по его имени
RegWrite Создает новые ключ или запись Реестра или записывает новое значение существующих.
RegDelete Удаляет ключ или запись реестра
LogEvent Позволяет записать сообщение в event log Windows NT или W2K или файл WSH.log в случае Windows 9х
ExpandEnvironmentStrings Позволяет раскрыть строку, содержащую переменные среды
SendKeys Позволяет эмулировать клавиатурный ввод

 

Объект WshNetwork используется при создании скриптов, модифицирующих конфигурацию сети. Это включает задачи типа подключения к сети, инсталляцию принтеров, назначение буквенных обозначений сетевым дискам и так далее. Основные свойства и методы WshNetwork перечислены в таблице 3.

Таблица 3. Свойства и методы объекта WshNetwork

Свойства Описание
ComputerName Возвращает имя компьютера
UserDomain Возвращает имя домена, в котором зарегистрирован пользователь
UserName Возвращает догадаетесь что!

 

Метод Описание
MapNetworkDrive Присваивает назначенную пользователем букву сетевому диску
EnumNetworkDrives Возвращает список подключенных сетевых дисков
RemoveNetworkDrive Отключает сетевой диск
AddWindowsPrinterConnection Позволяет установить новый принтер в Windows, то есть указать путь к принтеру и инициировать установку драйверов.
AddPrinterConnection Подключает сетевой принтер
RemovePrinterConnection Отключает сетевой принтер
SetDefaultPrinter Задает принтер по умолчанию
EnumPrinterConnections Возвращает список подключенных принтеров

 

Последний объект, FileSystemObject, нужен для дисковых операций. Это включает чтение, запись, удаление файлов и создание каталогов.

FileSystemObject имеет методы BuildPath, CopyFile, CopyFolder, CreateFolder, CreateTextFile, DeleteFile, DeleteFolder, DriveExists, FileExists, FolderExists, GetAbsolutePathName, GetBaseName, GetDrive, GetDriveName, GetExtensionName, GetFile, GetFileName, GetFolder, GetParentFolderName, GetSpecialFolder, GetTempName, MoveFile, MoveFolder, OpenTextFile. Их названия в отдельном объяснении не нуждаются. Его единственное свойство Drives возвращает список дисков, доступных на данной машине, включая сетевые.

 

Ну вот, на этом, пожалуй, теоретическую часть можно завершить и перейти непосредственно к написанию самих скриптов. В силу привычки я предпочитаю JScript, но по мере возможностей постараюсь приводить примеры как на JS, так и на VBS.

Так как раздел ориентирован в основном на реестр Windows, то и начать хотелось бы со скрипта, работающего с реестром. Итак, попробуем создать какой-нибудь раздел, в нем несколько параметров, а затем все это удалим. Создайте любой файл с расширением.js (например, test.js) и напишите в нем следующее:

//Пример работы с реестром на JScript

var WSHShell = WScript.CreateObject("WScript.Shell");

WSHShell.Popup("Создаем раздел");

WSHShell.RegWrite("HKCU\\MyRegKey\\", "Primer");

WSHShell.Popup("Создаем строковый параметр");

WSHShell.RegWrite("HKCU\\MyRegKey\\String", 1);

WSHShell.Popup("Создаем параметр DWORD");

WSHShell.RegWrite("HKCU\\MyRegKey\\DWORD", 2, "REG_DWORD");

WSHShell.Popup("Создаем двоичный параметр");

WSHShell.RegWrite("HKCU\\MyRegKey\\Binary", 3, "REG_BINARY");

WSHShell.Popup("Удаляем все параметры");

WSHShell.RegDelete("HKCU\\MyRegKey\\String");

WSHShell.RegDelete("HKCU\\MyRegKey\\DWORD");

WSHShell.RegDelete("HKCU\\MyRegKey\\Binary");

WSHShell.Popup("Удаляем раздел");

WSHShell.RegDelete("HKCU\\MyRegKey\\");

В первой строке создается объект типа WSHShell с тем же именем. Во второй строке выводится сообщение о том, что создается раздел. После нажатия на "ОК" в появившемся окне в реестре будет создан новый раздел. Перед каждым действием будет появляться окно с сообщением о том, что сейчас будет сделано. В нормальном рабочем скрипте такие окна, конечно, не нужны. Здесь они добавлены просто для того, чтобы вы могли отследить изменения в реестре (для обновления информации в редакторе реестра нажимайте F5 после каждого изменения). Последние строчки удаляют наши параметры и раздел, чтобы не забивать реестр разным мусором.

Если вы обратили внимание, то корневой раздел HKEY_CURRENT_USER в скрипте обозначается как HKCU. Здесь возможны сокращенные названия корневых разделов. HKEY_LOCAL_MACHINE будет писаться как HKLM, HKEY_CLASSES_ROOT - HKCR. Остальные разделы не имеют короткого имени.

Теперь проделаем аналогичную операцию на VBScript (test.vbs):

'Пример работы с реестром на VBScript

set WSHShell = WScript.CreateObject("WScript.Shell")

WSHShell.Popup "Создаем раздел"

WSHShell.RegWrite "HKCU\\MyRegKey\\", "Primer"

WSHShell.Popup "Создаем строковый параметр"

WSHShell.RegWrite "HKCU\\MyRegKey\\String", 1

WSHShell.Popup "Создаем параметр DWORD"

WSHShell.RegWrite "HKCU\\MyRegKey\\DWORD", 2, "REG_DWORD"

WSHShell.Popup "Создаем двоичный параметр"

WSHShell.RegWrite "HKCU\\MyRegKey\\Binary", 3, "REG_BINARY"

WSHShell.Popup "Удаляем все параметры"

WSHShell.RegDelete "HKCU\\MyRegKey\\String"

WSHShell.RegDelete "HKCU\\MyRegKey\\DWORD"

WSHShell.RegDelete "HKCU\\MyRegKey\\Binary"

WSHShell.Popup "Удаляем раздел"

WSHShell.RegDelete "HKCU\\MyRegKey\\"

Как видите, отличия весьма незначительные (по другому задается комментарий, отсутствует ";" в конце строки, нет круглых скобок при задании параметров, var заменена на set).




Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 879; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.