WshShell

Объект WshShell


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


WshShell = WScript.CreateObject("WScript.Shell");


или

Set WshShell = CreateObject("WScript.Shell")


Объект WshShell. Свойства.



Свойство


Описание

CurrentDirectory Возвращает строку, путь к текущему каталогу.
Environment Возвращает объект, который позволяет получить значения переменных среды
SpecialFolders Возвращает полный путь к специальным папкам типа меню Пуск.
Вот список доступных папок: AllUsersDesktop, AllUsersStartMenu, AllUsersPrograms, AllUsersStartup, Desktop, Favorites, Fonts, MyDocuments, NetHood, PrintHood, Programs, Recent, SendTo, StartMenu, Startup, Templates.


Объект WshShell. Свойство CurrentDirectory.

Путь к текущему каталогу. Изначально - из которого был запущен скрипт.
Замечание: чтение и запись.

Set WshShell = CreateObject("WScript.Shell") MsgBox WshShell.CurrentDirectory


Объект WshShell. Свойство Environment.

Возвращает объект-коллекцию, которая содержит значения переменных среды (переменных окружения)
Свойство Environment([strType])
где strType - тип переменных окружения.
Возможные значения:



Тип
 

Описание
 
System Системные переменные окружения
User Пользовательские переменные окружения
Volatile Временные переменные окружения
Process Переменные окружения текущего командного окна


Список переменных среды неодинаков для разных операционных систем.


Название
 

Описание
 
ALLUSERSPROFILE
Тип - локальная
Возвращает размещение профиля All Users. В Windows 7 возвращает путь к папке C:\ProgramData\.
APPDATA
Тип - системная
Возвращает используемое по умолчанию размещение данных приложений.
В Windows XP это C:\Documents and Settings\ %UserName%\Application Data.
В Windows 7 - C:\Users\ %UserName%\ AppData\Roaming.
CD
Тип - локальная
Указывает путь к текущему каталогу.
CLIENTNAMEA
Тип -локальная динамическая
Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа.
CMDCMDLINE
Тип - локальная
Точная команда, использованная для запуска текущего cmd.exe.
CMDEXTVERSION
Тип - системная
Версия текущего Command Processor Extensions.
COMMONPROGRAMFILES
Тип - системная
Расположение каталога "Common Files" (обычно %ProgramFiles%\ Common Files).
COMMONPROGRAMFILES(x86)
Тип - системная
Расположение каталога "Common Files" в Program Files (x86) для 64-разрядной ОС (обычно %ProgramFiles(x86)%\ Common Files).
COMPUTERNAME
Тип - системная
Имя компьютера
COMSPEC
Тип - системная
Путь к исполняемому файлу командного процессора (shell).
DATE
Тип - системная
Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создаётся командой Cmd.exe.
ERRORLEVEL
Тип - системная
Возвращает код ошибки последней использовавшейся команды.
HOMEDRIVE
Тип - системная
Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMEPATH
Тип - системная
Возвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMESHARE
Тип - системная
Возвращает сетевой путь к общему основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
LOCALAPPDATA
Тип - системная
Возвращает используемое по умолчанию локальное размещение данных приложений (C:\Users\%UserName%\AppData\Local.
LOGONSERVER
Тип - локальная
Имя контроллера домена, использовавшегося для авторизации текущего пользователя.
NUMBER_OF_PROCESSORS
Тип - системная
Количество процессоров в системе (фактически, количество ядер).
OS
Тип - системная
Название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT.
PATH
Тип - системная
Указывает путь поиска исполняемых файлов.
PATHEXT
Тип - системная
Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.
PROCESSOR_ARCHITECTURE
Тип - системная
Архитектура процессора. Возможные варианты: x86, IA64, AMD64.
PROCESSOR_IDENTIFIER
Тип - системная
Описание процессора.
PROCESSOR_LEVEL
Тип - системная
Номер модели процессора.
PROCESSOR_REVISION
Тип - системная
Ревизия процессора.
PROGRAMDATA
Тип - системная
Возвращает путь к каталогу C:\ProgramData\ (аналогично ALLUSERSPROFILE).
PROGRAMFILES
Тип - системная
Путь к каталогу Program Files.
PROGRAMFILES(x86)
Тип - системная
Путь к каталогу Program Files (x86) в 64-разрядных системах для приложений архитектуры x86.
PROMPT
Тип - локальная
Возвращает параметры командной строки для текущего интерпретатора. Создаётся командой Cmd.exe.
PUBLIC
Тип - системная
В Windows 7 возвращает путь к каталогу C:\Users\Public.
RANDOM
Тип - системная
Случайное десятичное число от 0 до 32767. Генерируется Cmd.exe.
SESSIONNAME
Тип - локальная
Хранит имя активного пользовательского сеанса. При локальном входе имеет значение "Console", при удаленном доступе имеет вид RDP-Tcp#<номер сеанса>
SYSTEMDRIVE
Тип - системная
Диск, на котором расположен корневой каталог Windows.
SYSTEMROOT
Тип - системная
Путь к корневому каталогу Windows.
TEMP и TMP
Тип - системная и локальная
Возвращает временные каталоги, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно совпадают.
TIME
Тип - системная
Возвращает текущее время. Использует тот же формат, что и команда time /t. Создаётся командой Cmd.exe.
USERDOMAIN
Тип - локальная
Имя домена, которому принадлежит текущий пользователь.
USERNAME
Тип - локальная
Имя текущего пользователя.
USERPROFILE
Тип - локальная
Путь к профилю текущего пользователя.
WINDIR
Тип - истемная
Каталог, в котором установлена Windows.


Более детально работа с переменными окружения описана в разделе примеры на странице Операции с переменными окружения.


Объект WshShell. Свойство SpecialFolders.

Возвращает полный путь к специальным папкам.
Замечание: только чтение.
Вот список доступных папок:
AllUsersDesktop, AllUsersStartMenu, AllUsersPrograms, AllUsersStartup, Desktop, Favorites, Fonts, MyDocuments, NetHood, PrintHood, Programs, Recent, SendTo, StartMenu, Startup, Templates.

Set WshShell = CreateObject("WScript.Shell") Set SpecialFolders = WshShell.SpecialFolders MsgBox SpecialFolders.Item("Desktop") MsgBox WshShell.SpecialFolders("Desktop")




Объект WshShell. Методы.




Метод


Описание

AppActivateАктивизирует указанное окно приложения.
CreateShortcutСоздает ярлыки файлов или URL
Exec Создаёт дочерний процесс, который запускает заданное приложение.
ExpandEnvironmentStrings Возвращает значение переменной среды текущего командного окна.
LogEvent Позволяет записать сообщение в event log Windows NT или W2K или файл WSH.log в случае Windows 9х
Run Создаёт новый независимый процесс, который запускает заданное приложение.
Popup Выводит на экран модальное окно сообщения.
RegReadВозвращает значение ключа или записи реестра по его имени
RegWrite Создает новые ключ или запись реестра или записывает новое значение существующих.
RegDeleteУдаляет ключ или запись реестра
ExpandEnvironmentStrings Позволяет раскрыть строку, содержащую переменные среды
SendKeys Позволяет эмулировать клавиатурный ввод.

Объект WshShell. Метод AppActivate.

Активизирует указанное окно какого-либо приложения. Возвращает True в случае успеха и False в случае неудачи.
Этот метод изменяет фокус для выбранного приложения.
Синтаксис:
AppActivate(Title)
где Title - заголовок окна приложения или идентификатор процесса
Если в качестве параметра указан заголовок окна приложения, значение параметра сравнивается с заголовками окон всех запущенных приложений.
Если не найдено ни одного точного совпадения, будет производиться поиск окна, заголовок которого начинается с указанной строки.
Если и в этом случае не будет найдено ни одного подходящего окна, будет производиться поиск окна, заголовок которого заканчивается на указанную строку.
Если будет найдено несколько подходящих окон, произойдёт активизация одного из них (произвольно). Поэтому, если есть возможность, желательно обращаться по идентификатору процесса.

Set WshShell = CreateObject("WScript.Shell") Set WshExec = WshShell.Exec("calc") WScript.Sleep 2000 Res = WshShell.AppActivate(WshExec.ProcessID) If Res Then WshShell.SendKeys("2*2=")


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

Объект WshShell. Метод CreateShortcut.

Создание нового или открытие существующего ярлыка.
Синтаксис:
CreateShortcut(Path)
где Path - строка, полный путь к создаваемому или изменяемому ярлыку.

Set WshShell = CreateObject("WScript.Shell") Set SpecialFolders = WshShell.SpecialFolders kuda=SpecialFolders.Item("Desktop")+"\\celitel.url" Set WshURLShortcut = WshShell.CreateShortcut(kuda) WshURLShortcut.TargetPath = "http://www.celitel.info/klad/wsh/wshshell.htm" WshURLShortcut.Save


Объект WshShell. Метод Exec.

Создает новый дочерний процесс, который запускает заданное консольное приложение.
Возвращается объект "WshScriptExec", который позволяет контролировать ход выполнения запущенного приложения и обеспечивает доступ к потокам StdIn, StdOut и StdErr этого приложения.
Синтаксис:
Exec(Command)
где Command - строка запуска приложения.

Set WshShell = CreateObject("WScript.Shell") Set WshExec = WshShell.Exec("ipconfig") WScript.Sleep 1000 Set TextStream = WshExec.StdOut Str = vbNullString While Not TextStream.AtEndOfStream Str = Str & Trim(TextStream.ReadLine()) & vbCrLf Wend MsgBox Str


Объект WshShell. Метод ExpandEnvironmentStrings.

Возвращает значение переменной среды текущего командного окна.
Синтаксис:
ExpandEnvironmentStrings(String)
где String - имя переменной. Должно быть окружено знаками "%".

Set WshShell = CreateObject("WScript.Shell") MsgBox WshShell.ExpandEnvironmentStrings("%WinDir%")


Более детально работа с переменными окружения описана в разделе примеры на странице Операции с переменными окружения.


Объект WshShell. Метод LogEvent.

Протоколирует событие в журнале WindowsNT
Синтаксис:
LogEvent(Type,Message,Target)
где Type
тип сообщения. Возможные значения:


Код


Описание

0SUCCESS.
1ERROR.
2WARNING.
4INFORMATION.
8AUDIT_SUCCESS.
16AUDIT_FAILURE.


Message - строка, текст сообщения.
Target - строка, название системы, в которой протоколируется событие (по умолчанию - локальная система), может задаваться только в Windows NT/2000/XP.

Set WshShell = CreateObject("WScript.Shell") WshShell.LogEvent 4, "Start Monitor"


Объект WshShell. Метод Popup.

Выводит на экран модальное окно сообщения
Синтаксис:
Popup(Text,SecondsToWait,Title,Type) Параметры:
Text - строка, текст сообщения.
SecondsToWait - необязательный, число. Количество секунд, по истечении которого окно будет автоматически закрыто.
Title - необязательный, строка. Текст заголовка окна сообщения.
Type - необязательный, число. Комбинация флагов, определяет тип кнопок и значка.
Возможные значения кнопок:


Код


Описание

0кнопка ОК.
1кнопки ОК и Отмена.
2кнопки Стоп, Повтор, Пропустить.
3кнопки Да, Нет, Отмена.
4кнопки Да и Нет.
5кнопки Повтор и Отмена.
6кнопки Cancel, Try Again, и Continue.


Возможные значения иконок:


Код


Описание

16значок Stop.
32значок Question.
48значок Exclamation.
64значок Information.


Другие возможные значения:


Код


Описание

256Вторая кнопка кнопка по умолчанию.
512Третья кнопка кнопка по умолчанию.
524288 Текст выравнивается по правому краю.
1048576Текст отображается для языков чтения справа налево.


Возвращает целое значение, с помощью которого можно узнать, какая кнопка была нажата пользователем.
Возможные значения:


Код


Описание

-1таймаут.
1кнопка ОК.
2кнопка Отмена.
3кнопка Стоп.
4кнопка Повтор.
5кнопка Пропустить.
6кнопка Да.
7кнопка Нет.
10кнопка Try Again.
11кнопка Continue.


Метод Popup отображает окно сообщения, независимо от того, каким исполняемым файлом запущен скрипт (WScript.exe или CScript.exe).
Если SecondsToWait равен нулю (по умолчанию), то всплывающее окно остается видимым до тех пор, пока не будет закрыто пользователем.
Если SecondsToWaitis больше нуля, то всплывающее окно закроется после SecondsToWait секунд (если пользователь не закрыл его ранее).
Если не определен аргумент Title, то по умолчанию он будет иметь значение "Windows Script Host".

var sh = new ActiveXObject('WScript.Shell'); var btnCode = sh.Popup("Файлы успешно обработаны", 10, "Оповещение", 64);


Объект WshShell. Метод RegDelete.

Удаляет ключ или одно из его значений из реестра.
Синтаксис:
RegDelete(Name)
где Name - строка, наименование параметра или раздела. Если Name заканчивается ("\"), то Если параметр Name оканчивается символами ("\"), то этот метод удаляет ключ целиком (вместе со всеми параметрами внутри его), в противном случае удаляется только один заданный параметр. Параметр Name может начинаться с одного из следующих корневых ключей


Корневой ключ


Сокращение

HKEY_CURRENT_USERHKCU
HKEY_LOCAL_MACHINEHKLM
HKEY_CLASSES_ROOTHKCR
HKEY_USERSHKEY_USERS
HKEY_CURRENT_CONFIGHKEY_CURRENT_CONFIG


var WshShell = WScript.CreateObject("WScript.Shell"); WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"); WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");


Объект WshShell. Метод RegRead.

Возвращает значение ключа или записи реестра.
Синтаксис:
RegRead(Name)
где Name - наименование параметра или раздела
Допустимо использовать сокращения, описанные в методе RegDelete.
Метод RegRead возвращает значения следующих типов:


Тип


В виде

REG_SZСтрока
REG_DWORDЧисло
REG_BINARYМассив чисел
REG_EXPAND_SZСтрока расширяемая, например,"%windir%\\calc.exe"
REG_MULTI_SZМассив строк


var WshShell = WScript.CreateObject("WScript.Shell"); WScript.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"));


Объект WshShell. Метод RegWrite.

Создает новые ключ или запись реестра или записывает новое значение существующих.
Синтаксис:
RegWrite (Name, anyValue [, strType])
где Name - наименование параметра или раздела
Допустимо использовать сокращения, описанные в методе RegDelete.
anyValue - значение параметра или раздела
strType - необязательный параметр, определяет тип значения.
Возможные значения: "REG_SZ", "REG_EXPAND_SZ", "REG_DWORD", "REG_BINARY".
Тип REG_MULTI_SZ не поддерживается для метода RegWrite. Если strType определен как REG_DWORD или REG_BINARY, то значение anyValue должно быть числом.

Set WshShell = CreateObject("WScript.Shell") WshShell.RegWrite "HKCU\NewKey\","Value"


Объект WshShell. Метод Run.

Создаёт новый независимый процесс, который запускает заданное приложение.
Синтаксис:
run (StrCommand, [intWindowStyle], [bWaitOnReturn])
где StrCommand - строка, командная строка запуска приложения. Может содержать параметры, которые необходимо передать приложению.
intWindowStyle - необязательный, число. Определяет вид окна запускаемого приложения. Некоторые возможные значения:


intWindowStyle


Описание

0Скрывает окно и активизирует другое окно.
1 Активизирует и отображает окно. Если окно свернуто или развернуто, система восстанавливает его исходный размер и положение.
2Активизирует окно и отображает его в свернутом виде.
3Активизирует окно и отображает его в виде развернутого окна.
4Отображает окно в его последнем виде (размер и положение). Активное окно остается активным.
5Активизирует окно и отображает его в текущем размере и позиции.
6Сводит к минимуму указанное окно и активирует следующее окно верхнего уровня в Z порядке.
7Отображает окно в минимальном виде. Активное окно остается активным.
8Отображает окно в его текущем состоянии. Активное окно остается активным.
9 Активизирует и отображает окно. Если окно свернуто или развернуто, система восстанавливает его исходный размер и положение. Приложение должно указывать этот флаг при восстановлении свернутого окна.


bWaitOnReturn - необязательный параметр, логическое значение, указывающее, следует ли сценарию ждать, пока программа закончит выполнение прежде чем переходить к следующей инструкции в вашем скрипте. True - сценарий возобновит работу только после завершения вызванного процесса. False (по умолчанию) - управление передаётся сразу обратно в сценарий.

Если bWaitOnReturn установлен в True, то метод Run возвращает значение, равное коду возврата запущенного приложения. Иначе метод всегда возвращает ноль.

Set WshShell = WScript.CreateObject("WScript.Shell") Return = WshShell.Run("notepad " & WScript.ScriptFullName, 1, true)


Объект WshShell. Метод SendKeys.

Посылает одно или несколько нажатий клавиш в активное окно (имитация набора на клавиатуре).
Синтаксис:
SendKeys(String)
где String - строка, перечень клавиш в специальном формате. Большинство символов на клавиатуре представлены одним нажатием клавиши. Некоторые символы состоят из комбинаций клавиш (Ctrl + Shift + Home, например). Для отправки одного символа клавиатуры следует послать сам символ как аргумент. Вы можете использовать SendKeys для того, чтобы отправить более одной клавиши одновременно. Чтобы сделать это, создайте составной строковый аргумент, который представляет собой последовательность нажатий клавиш. Каждая клавиша задаётся своим символом. Например, чтобы задать нажатие друг за другом клавиш А, Б и В, нужно указать в качестве параметра строку "АБВ".
Метод SendKeys использует некоторые символы в качестве модификаторов символов (вместо их номинальной значения). Такие символы следует всегда задавать заключёнными в фигурные скобки.
Перечень таких символов:
{+} {^} {%} {~} {(} {)} {[} {]} {{} {}}
Задание неотображаемых символов и специальных клавиш:


Ключ


Аргумент

BACKSPACE {BACKSPACE}, {BS}, или {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL или DELETE {DELETE} или {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} или ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS или INSERT {INSERT} или {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}


Для отправки символов, которые состоят из клавиши в сочетании с SHIFT, CTRL или ALT, создайте составной строковый аргумент, представляющий комбинацию клавиш.


Ключ


Специальные символы

SHIFT +
CTRL ^
ALT %


При использовании таким образом, эти специальные символы не заключаются в пару фигурных скобок.
Например, для отправки сочетания клавиш Ctrl + X аргумент будет ^ X. При использовании специальных символов допустимо использовать группировки. Так, +(GH) отправит знак G при нажатой клавише SHIFT, а затем знак H при нажатой клавише SHIFT. А + GH отправит знак G при нажатой клавише SHIFT, а затем знак H, но уже без нажатой клавише SHIFT.
Для не специальных символов можно указывать количество повторений. Так, {х 10} передаст нажатие клавиши x подряд 10 раз. Наличие пробела между символом и количеством повторений обязательно.
Можно отправить "х" в десять раз, но нельзя сделать то же самое для составных символов, например, "Ctrl + X" использую предыдущий шаблон.
Вы не можете отправить ключ PRINT SCREEN {PRTSC} к приложению.

var WshShell = WScript.CreateObject("WScript.Shell"); WshShell.Run("calc"); WScript.Sleep(100); WshShell.AppActivate("Calculator"); WScript.Sleep(100); WshShell.SendKeys ("1{+}"); WScript.Sleep(1500); WshShell.SendKeys("2"); WScript.Sleep(1500); WshShell.SendKeys("=");


Выше были перечислены методы и свойства объекта WshShell.
Казалось бы можно поставить точку и закончить эту уже немаленькую страницу.
Не все так просто.

Рассматривая метод Exec мы упоминали, что он возвращает объект "WshScriptExec", а метод CreateShortcut возвращает объект "WshShortcut" или "WshURLShortcut.
А объекты могут обладать свойствами, методами и возвращать... другие объекты.
Не расстраивайтесь)). Процесс конечен)).
К тому же новых типов объектов эти объекты не создают. Так что нам осталось рассмотреть эти три объекта.

Объект WshShell. Объект WshScriptExec.



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

Объект создается методом Exec объекта WshShell.

Set WshShell = CreateObject("WScript.Shell") Set WshExec = WshShell.Exec("calc")


Объект WshScriptExec. Свойства.




Свойство


Описание

ExitCode Возвращает код возврата дочерней программы.
ProcessID Возвращает идентификатор запущенного процесса (PID).
Status Возвращает статус запущенного процесса.
StdOut Возвращает объект "TextStream", соответствующий стандартному выходному потоку запущенной задачи.
StdIn Возвращает объект "TextStream", соответствующий стандартному входному потоку запущенной задачи.
StdErr Возвращает объект "TextStream", соответствующий стандартному потоку ошибок запущенной задачи.


Объект WshScriptExec. Свойство ExitCode.

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

Set WshShell = CreateObject("WScript.Shell") 'запуск "ping" с заведомо ошибочным параметром Set WshExec = WshShell.Exec("ping -localhost") 'пауза для запуска приложения WScript.Sleep 1500 MsgBox WshExec.ExitCode


Объект WshScriptExec. Свойство ProcessID.

Возвращаемое значение: идентификатор запущенного процесса (PID).
Замечание: только чтение

Set WshShell = CreateObject("WScript.Shell") Set WshExec = WshShell.Exec("notepad") WScript.Sleep 2000 WshShell.AppActivate WshExec.ProcessID WshShell.SendKeys "Yes"


Объект WshScriptExec. Свойство Status.

Возвращаемое значение: состояние запущенного процесса.
Возможные значения:
  • 0 - приложение запущено.
  • 1 - приложение завершено.
Замечание: только чтение.

Set WshShell = CreateObject("WScript.Shell") Set WshExec = WshShell.Exec("notepad") WScript.Sleep 1500 MsgBox "status - " & WshExec.Status WshExec.Terminate WScript.Sleep 1500 MsgBox "status - " & WshExec.Status


Объект WshScriptExec. Свойство StdOut.

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


Set WshShell = CreateObject("WScript.Shell") Set WshExec = WshShell.Exec("ftp") Set InStream = WshExec.StdIn InStream.WriteLine "help" InStream.WriteLine "quit" Set OutStream = WshExec.StdOut Str = vbNullString While Not OutStream.AtEndOfStream Str = Str & Trim(OutStream.ReadLine()) & vbCrLf Wend MsgBox Str


Объект WshScriptExec. Свойство StdIn.

Возвращаемое значение: объект "TextStream", соответствующий стандартному входному потоку запущенной задачи.
Параметры отсутствуют


Set WshShell = CreateObject("WScript.Shell") Set WshExec = WshShell.Exec("ftp") Set InStream = WshExec.StdIn InStream.WriteLine "help" InStream.WriteLine "quit" Set OutStream = WshExec.StdOut Str = vbNullString While Not OutStream.AtEndOfStream Str = Str & Trim(OutStream.ReadLine()) & vbCrLf Wend MsgBox Str


Объект WshScriptExec. Свойство StdErr.

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


Set WshShell = CreateObject("WScript.Shell") Set WshExec = WshShell.Exec("nslookup") Set InStream = WshExec.StdIn InStream.WriteLine "123456" InStream.WriteLine "exit" Set OutStream = WshExec.StdErr Str = vbNullString While Not OutStream.AtEndOfStream Str = Str & Trim(OutStream.ReadLine()) & vbCrLf Wend MsgBox Str


Объект WshScriptExec. Методы.




Метод


Описание

Terminate Закрывает приложение.


Объект WshScriptExec. Метод Terminate.

Метод Terminate завершает работу приложения. Параметров нет.

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


Объект WshShell. Объект WshShortcut.

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

Объект создается методом CreateShortcut объекта WshShell.

Set WshShell = CreateObject("WScript.Shell") Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")


Объект WshShortcut. Свойства.




Свойство


Описание

Arguments Параметры командной строки программы.
Description Поле "Комментарий" ("Comment") в свойствах ярлыка
FullName Полный путь к файлу ярлыка
Hotkey Названия горячих клавиш
IconLocation Расположение иконки для ярлыка
RelativePath Устанавливает относительный путь ярлыка
TargetPath Путь к исполняемому файлу
WindowStyle Вид окна запускаемого приложения
WorkingDirectory Путь к рабочему каталогу ярлыка


Объект WshShortcut. Свойство Arguments.

Строка, параметры командной строки программы, запускаемой ярлыком.
Замечание: чтение и запись.
Строка может содержать косую черту (слэш) если это требуется в параметрах

'Create a WshShell Object Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Create a WshShortcut Object Set oShellLink = WshShell.CreateShortcut("aaa.lnk") oShellLink.Arguments = "/u c:\windows\system\Mycontrol.ocx" 'Set the Target Path for the shortcut oShellLink.TargetPath = "Regsvr32.exe" 'Save the shortcut oShellLink.Save 'Clean up the WshShortcut Object Set oShellLink = Nothing


Объект WshShortcut. Свойство Description.

Строка, описание в поле "Комментарий" ("Comment") в свойствах ярлыка.
Замечание: чтение и запись.


'Create a WshShell Object Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Create a WshShortcut Object Set oShellLink = WshShell.CreateShortcut("aaa.lnk") oShellLink.Arguments = "/u c:\windows\system\Mycontrol.ocx" 'Set the Target Path for the shortcut oShellLink.TargetPath = "Regsvr32.exe" oShellLink.Description = "Shortcut Script" 'Save the shortcut oShellLink.Save 'Clean up the WshShortcut Object Set oShellLink = Nothing


Объект WshShortcut. Свойство FullName.

FullName содержит строковое значение только для чтения, указывающее полный путь к ярлыку.

'Create a WshShell Object Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Create a WshShortcut Object Set oShellLink = WshShell.CreateShortcut("aaa.lnk") 'Set the Target Path for the shortcut oShellLink.TargetPath = "notepad.exe" 'Set the additional parameters for the shortcut oShellLink.Arguments = "c:\windows\desktop\aaa.txt" MsgBox oShellLink.FullName 'Save the shortcut oShellLink.Save 'Clean up the WshShortcut Object Set oShellLink = Nothing


Объект WshShortcut. Свойство Hotkey.

Возвращаемое значение: строка, содержащая названия горячих клавиш, разделённые знаком "+".
Замечание: чтение и запись.


'Create a WshShell Object Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Create a WshShortcut Object Set oShellLink = WshShell.CreateShortcut("aaa.lnk") 'Set the Target Path for the shortcut oShellLink.TargetPath = "notepad.exe" 'Set the additional parameters for the shortcut oShellLink.Arguments = "c:\windows\desktop\aaa.txt" oShellLink.HotKey = "CTRL+ALT+F" 'Save the shortcut oShellLink.Save 'Clean up the WshShortcut Object Set oShellLink = Nothing


Объект WshShortcut. Свойство IconLocation.

Возвращаемое значение: строка, содержащая расположение иконки для ярлыка в формате "путь к файлу, индекс иконки".
Индексы иконок начинаются с нуля.
Замечание: чтение и запись.

'Create a WshShell Object Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Create a WshShortcut Object Set oShellLink = WshShell.CreateShortcut("aaa.lnk") 'Set the Target Path for the shortcut oShellLink.TargetPath = "notepad.exe" 'Set the additional parameters for the shortcut oShellLink.Arguments = "c:\windows\desktop\aaa.txt" oShellLink.IconLocation = "notepad.exe, 0" 'Zero is the index 'oShellLink.IconLocation = "shell32.dll, 5" 'Save the shortcut oShellLink.Save 'Clean up the WshShortcut Object Set oShellLink = Nothing


Объект WshShortcut. Свойство RelativePath.



Устанавливает относительный путь к ярлыку.
Замечание: чтение и запись.
var WshShell = WScript.CreateObject ("WScript.Shell"); var WshShortcut = WshShell.CreateShortcut("MyScript.lnk"); WshShortcut.RelativePath = "C:\\Scripts\\";


Объект WshShortcut. Свойство TargetPath.

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

Объект WshShortcut. Свойство WindowStyle.

Число, определяющее вид окна запускаемого приложения.
Возможные значения:


Код


Вид окна

1Стандартное окно.
3Максимизированное окно.
7Минимизированное окно.


'Create a WshShell Object Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Create a WshShortcut Object Set oShellLink = WshShell.CreateShortcut("aaa.lnk") 'Set the Target Path for the shortcut oShellLink.TargetPath = "notepad.exe" 'Set the additional parameters for the shortcut oShellLink.Arguments = "c:\windows\desktop\aaa.txt" oShellLink.WindowStyle = 1 'Save the shortcut oShellLink.Save 'Clean up the WshShortcut Object Set oShellLink = Nothing


Объект WshShortcut. Свойство WorkingDirectory.

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


'Create a WshShell Object Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Create a WshShortcut Object Set oShellLink = WshShell.CreateShortcut("aaa.lnk") 'Set the Target Path for the shortcut oShellLink.TargetPath = "notepad.exe" 'Set the additional parameters for the shortcut oShellLink.Arguments = "c:\windows\desktop\aaa.txt" oShellLink.WorkingDirectory = "C:\" 'Save the shortcut oShellLink.Save 'Clean up the WshShortcut Object Set oShellLink = Nothing


Объект WshShortcut. Методы.




Метод


Описание

Save .


Объект WshShortcut. Метод Save.

Сохраняет ярлык. Параметры: нет.
В следующем примере создается ярлык для открытия текстового файла (aaa.txt) с помощью Microsoft Notepad (aaa.lnk)

'Create a WshShell Object Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Create a WshShortcut Object Set oShellLink = WshShell.CreateShortcut("aaa.lnk") 'Set the Target Path for the shortcut oShellLink.TargetPath = "notepad.exe" 'Set the additional parameters for the shortcut oShellLink.Arguments = "c:\windows\desktop\aaa.txt" oShellLink.Description = "Shortcut Script" oShellLink.HotKey = "CTRL+ALT+F" oShellLink.IconLocation = "shell32.dll, 5" 'Save the shortcut oShellLink.Save 'Clean up the WshShortcut Object Set oShellLink = Nothing


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

Объект создается методом CreateShortcut объекта WshShell.

Set WshShell = CreateObject("WScript.Shell") Set WshUrlShortcut = WshShell.CreateShortcut("C:\Microsoft.url")


Объект WshURLShortcut. Свойства.




Свойство


Описание

FullName Полный путь к файлу ярлыка.
TargetPath Путь к документу в интернете


Объект WshShortcut. Свойство FullName.

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

Set WshShell = CreateObject("WScript.Shell") Set WshUrlShortcut = WshShell.CreateShortcut("C:\celitel.url") WshUrlShortcut.TargetPath = "http://celitel.info" MsgBox WshUrlShortcut.FullName WshUrlShortcut.Save


Объект WshShortcut. Свойство TargetPath.

Возвращаемое значение: строка, содержащая путь к документу в интернете.

Set WshShell = CreateObject("WScript.Shell") Set WshUrlShortcut = WshShell.CreateShortcut("C:\celitel.url") WshUrlShortcut.TargetPath = "http://celitel.info" MsgBox WshUrlShortcut.FullName WshUrlShortcut.Save


Объект WshShortcut. Методы.




Метод


Описание

Save Сохранение ярлыка.


Объект WshShortcut. Метод Save.

Сохраняет ярлык. Параметров нет.

Set WshShell = CreateObject("WScript.Shell") Set WshUrlShortcut = WshShell.CreateShortcut("C:\celitel.url") WshUrlShortcut.TargetPath = "http://celitel.info" MsgBox WshUrlShortcut.FullName WshUrlShortcut.Save






Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуетс¤ регистраци¤).









  own counter Valid XHTML 1.0 Strict Valid CSS

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка link О авторе

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка Ссылки О авторе Отправить сообщение Карта сайта Поиск по сайту Главная страница

Copyright © 1999 - 2024  Бронислав Краснер