Объект 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
тип сообщения. Возможные значения:
Код | Описание |
---|---|
0 | SUCCESS. |
1 | ERROR. |
2 | WARNING. |
4 | INFORMATION. |
8 | AUDIT_SUCCESS. |
16 | AUDIT_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_USER | HKCU |
HKEY_LOCAL_MACHINE | HKLM |
HKEY_CLASSES_ROOT | HKCR |
HKEY_USERS | HKEY_USERS |
HKEY_CURRENT_CONFIG | HKEY_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
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуетс¤ регистраци¤).