Меню Рубрики

Windows script host jscript справочник

Основы языка JScript — написание WSH скриптов

Сегодня поговорим об очень полезном компоненте операционной системы Windows — это Windows Script Host, если быть конкретней, то о языке Jscript, на котором можно писать эти самые WSH скрипты.

Начнем мы с небольшой теории, так как мы еще не затрагивали Windows Script Host.

Что такое Windows Script Host?

Windows Script Host – сервер выполнения сценариев (скриптов) на таких языках как VBScript и JScript. WSH разработан компанией Microsoft и он является компонентом операционной системы Windows начиная с Windows 98.

Первоначально для администрирования использовались только bat-файлы, но их возможности ограничены (хотя также очень полезны!), поэтому компания Microsoft предложила такой вариант WSH. Возможности WSH-скриптов уже гораздо больше, ведь данные скрипты уже создаются на полноценных языках, таких как VBScript и JScript.

Именно о JScript мы сегодня и поговорим.

Но о VBScript мы тоже скажем пару слов.

VBScript – это скриптовой язык программирования, созданный компанией Microsoft для разработки скриптов в операционной системе Windows. Другими словами, это один из языков, которые может интерпретировать Windows Script Host. И из названия ясно, что VBScript основан на языке Visual Basic, поэтому тем, кто знаком с Visual Basic будет просто писать WSH-скрипты на этом языке программирования.

JScript – скриптовой язык программирования, с помощью которого можно создавать (писать) скрипты, которые будут интерпретироваться компонентом Windows Script Host.

С первого взгляда JScript во многом похож на JavaScript (ECMAScript), это и естественно, так как синтаксис, некоторый объекты, методы, свойства аналогичны JavaScript. Но это все же не JavaScript, а именно JScript. JavaScript (ECMAScript) ориентирован на объекты браузера, а JScript уже на компоненты операционной системы Windows. Но как мы сказали, они похожи, поэтому те, кто владеют языком программирования JavaScript с легкостью перейдут на JScript.

Возможности Windows Script Host

А теперь давайте поговорим о том, зачем нам нужно писать эти самые WSH-скрипты, т.е. об их возможностях и преимуществах:

  • Возможность взаимодействия с файловой системой (файлы, каталоги), системным реестром, ресурсами локальной сети;
  • Взаимодействие с такими продуктами как Microsoft Word, Excel и другими программами. Т.е. например, мы можем создавать excel файлы или конвертировать другие форматы в excel файлы;
  • Взаимодействие с ActiveX-технологиями, например: ActiveX Data Object (ADO) — доступ к базам данных разных форматов, Active Directory Service Interface (ADSI) — работа со службами каталогов Active Directory;
  • Наличие полноценного языка программирования, с помощью которого можно реализовывать сложные алгоритмы, которые например нельзя реализовать с помощью bat файлов.

Скрипты на JScript имеют расширение .js такое же, как и на JavaScript за исключением того, что эти скрипты обрабатывает не браузер, а Windows Script Host.

На JScript возможно даже реализация графического интерфейса через объект браузера (internet explorer), согласитесь это уже полноценная программа.

Примеры написания WSH скриптов

Перейдем к практике, так как у нас сегодня статья по основам, мы рассмотрим простые примеры написание скриптов на JScript.

Примечание! Для того чтобы попробовать примеры ниже скопируйте код любого примера в текстовый файл и сохраните с расширением .js, например, test.js.

Выводим сообщение на JScript

В WSH имеется специальный объект, на основе которого мы уже можем в дальнейшем создавать другие объекты, настраивать взаимодействие с программами, файлами и другими компонентами операционной системы.

Этим объектом является WScript. Пример его использования на Jscript:

Тем самым мы создали объект, с помощью которого мы можем получить доступ к компонентам Windows.

Например, вывести сообщение:

Работа с Excel на JScript

Теперь давайте создадим другой объект, например, Excel файл:

Как Вы понимаете, мы имеем доступ ко всем свойствам в Excel, другими словами, мы можем изменить внешний вид, задать формат ячеек и многое другое. Для примера давайте поэкспериментируем с некоторыми свойствами:

Работа с текстовым файлом и Excel на JScript

Я думаю с Excel все понятно, теперь давайте прочитаем какие-нибудь данные из текстового файла и запишем их в нашу Excel таблицу, для закрепления наших знаний.

Для того чтобы настроить взаимодействие с файловой системой, необходимо создать объект FileSystemObject, который работает с файлами и каталогами. Вот пример небольшого скрипта, который считывает данные из текстового файла построчно и записывает их в Excel документ, причем мы все строки пронумеруем и зададим ширину столба для данных в Excel:

Пример текстового файла:

Как всегда весь код я прокомментировал, поэтому неясностей возникнуть не должно.

Я думаю для начала этого вполне достаточно, в дальнейшем мы будем разбирать задачи посложней, ведь при помощи Jscript в WSH можно очень много чего сделать, гораздо больше, чем с помощью простых bat файлов. До встречи!

Источник

Windows script host jscript справочник

Справочник по языку JScript

Язык JScript — это разработанный Microsoft интерпретируемый объектно-ориентированный язык сценариев, который первоначально предназначался для создания динамических HTML-страниц. Отметим, что JScript не является урезанной версией какого-либо другого языка программирования, хотя по синтаксису он похож на языки Java и С. В этом приложении мы кратко рассмотрим те возможности и свойства JScript, которые могут потребоваться при составлении сценариев, выполняемых с помощью WSH, не затрагивая при этом вопросы, связанные с составлением сценариев для HTML-страниц.

Строки кода и комментарии

В конце каждого оператора JScript нужно ставить точку с запятой. Например:

При этом один оператор может располагаться на нескольких строках, например:

Комментарии в JScript могут быть двух видов. Для комментария, который занимает не более одной строки, можно использовать символы

//Этот комментарий занимает всю строку

Если же в текст сценария необходимо внести комментарий, расположенный на нескольких строках, то текст такого комментария нужно помещать внутри блока

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

Хорошим тоном считается предварительное объявление используемых переменных с помощью ключевого слова

При объявлении тип переменной явным образом не указывается (как это делается, например, в языках С или Pascal). Определенный тип переменной присваивается только тогда, когда в нее записывается какое-либо значение.

Язык JScript является регистро-зависимым, т.е. имена

? имя переменной должно начинаться с буквы или с символов «

? имя переменной не должно совпадать с зарезервированными ключевыми словами языка JScript.

Список ключевых слов JScript приведен в табл. П1.1.

Таблица П1.1. Зарезервированные ключевые слова JScript

break default false new true

case delete finally null try

class else function super var

continue export import this while

debugger extends in throw with

Значения переменным в JScript присваиваются с помощью оператора присваивания «=». Например:

Здесь мы объявили переменную

Кроме этого, переменной можно присвоить специальное значение

В этом случае переменной

В JScript поддерживаются шесть типов данных, главными из которых являются числа, строки, объекты и логические данные. Оставшиеся два типа — это null (пустой тип) и undefined (неопределенный тип).

В сценариях JScript числа могут использоваться в различных форматах.

? Целые числа в диапазоне от -999 999 999 999 999 до 999 999 999 999 999. Кроме обычного десятичного, целые числа могут записываться в восьмеричном (префикс «0» и цифры 0–7) или в шестнадцатиричном (префикс «0х», цифры 0–9, символы «А», «В», «С», «D», «Е» и «F’) виде. Например, восьмеричное число 0377 и шестнадцатеричное 0xFF равны десятичному 255.

? Вещественные числа, которые могут быть записаны как с плавающей точкой (например, -10.567), так и в научной нотации (например, 10567Е-3, что равно 10.567 («число 10 567 умножить на 10 в степени -3»)). Значения вещественных переменных и констант должны лежать в диапазоне от -Number.MAX_VALUE до Number.MAX_VALUE, где параметр Number.MAX_VALUE является специальным числовым значением, которое равно наибольшему вещественному числу, с которым может работать JScript (Number.MAX_VALUE приблизительно равно 1.79Е+308).

Кроме Number.MAX_VALUE в JScript имеются еще несколько специальных числовых значений.

? NaN (Not a Number) — так называемое «нечисло», которое не соответствует никакому числу (это значение генерируется в тех случаях, когда результат выполнения операции не может быть представлен в виде числа, например, при преобразовании строки «1s2» к числовому типу).

? Положительная бесконечность Number.POSITIVE_INFINITY (число, которое больше, чем Number.MAX_VALUE).

? Отрицательная бесконечность Number.NEGATIVE_INFINITY (число, которое меньше, чем -Number.MAX_VALUE).

? Самое близкое число к нулю Number.MIN_VALUE (примерно равно 2.22Е-308). Все числа, большие -Number.MIN_VALUE, но меньшие Number.MIN_VALUE, считаются равными нулю.

Текстовые строки — это последовательность символов, заключенных в одинарные или двойные кавычки, например:

Строка может иметь нулевую длину (пустая строка):

В JScript можно также использовать специальные комбинации символов, с помощью которых в строки включаются некоторые неотображаемые символы или символы, имеющие специальное значение. Каждая из этих комбинаций (escape-последовательностей) начинается с символа обратной косой черты «

Таблица П1.2. Специальные комбинации символов

В JScript под объектом понимается совокупность свойств и методов. Метод — это внутренняя функция объекта, свойство — это одно значение какого-либо типа или несколько таких значений (в виде массива или объекта), хранящихся внутри объекта. Поддерживаются три вида объектов:

? встроенные (внутренние) объекты;

? объекты, создаваемые программистом в сценарии;

? внешние объекты (например, объекты WSH). Более подробно объекты будут рассмотрены ниже.

Логические данные предназначены для выполнения операций сравнения, а также для использования в условных операторах. При этом логические данные имеют только два значения:

Null (пустой тип) и undefined (неопределенный тип)

Если переменная была объявлена с помощью ключевого слова

После выполнения этой строки переменная

Преобразование типов данных

Одной из особенностей языка JScript является то, что если в выражениях встречаются переменные разных типов, то автоматически происходит преобразование всех числовых данных в строковое представление. Например, следующие логические выражения будут равны

(здесь «==» означает оператор сравнения). Для преобразования строк в числа нужно применять две специальные функции:

Источник

WSH скрипты на JScript — Урок 2

Продолжаем изучение WSH скриптов на языке JScript, и сегодня мы поговорим более подробно об этом языке программирования. Рассмотрим наиболее распространенные объекты, методы, а также напишем примеры WSH скриптов, в которых будем использовать эти методы и объекты.

Напомню, что это уже вторая статья по изучению данной технологии и языка Jscript, и для того чтобы Вы лучше понимали, то, о чем мы сегодня будем разговаривать, прочитайте первую статью Основы языка JScript — написание WSH скриптов, если Вы ее еще не читали. Так как в ней рассматриваются основы WSH скриптов и в частности языка Jscript.

Теория у нас была ранее, поэтому перейдем сразу к практике и начнем уже с упомянутого объекта в прошлой статье это – Wscript.

Объект Wscript

Объект Wscript – это один их главных объектов в WSH. С помощью него можно создавать другие объекты, держать связь с ними, выводить информацию в виде всплывающего сообщения, а также он позволяет получить информацию о запущенном скрипте.

У данного объекта есть несколько свойств и методов, поговорим о них.

  • Arguments – на основе его создается объект WshArguments, и в котором хранится все передаваемые параметры скрипту, в том числе, например, путь и название файла, который необходимо обработать;
  • StdErr, StdIn, StdOut – с помощью этих свойств можно получить доступ к входным и выходным потокам, но только в том случае, если скрипт был запущен в консольном режиме.

Далее давайте рассмотрим основные методы данного объекта.

  • Createobject – метод для создания и доступа к другим объектам;
  • ConnectObject – метод соединения с объектом;
  • DisconnectObject – метод отсоединения от объекта;
  • Echo – вывод сообщений на экран;
  • Sleep – метод для временной остановки сценария, т.е. скрипт останавливается «Засыпает» на определенный промежуток времени. Ему передается параметр времени, например, 5 секундам соответствует 5000.

Чтобы закрепить все выше перечисленное, давайте напишем простенький скрипт, который просто считает введенные параметры и выведет их на экран, а также мы остановим работу сценария на 5 секунд и еще разок выведем сообщение.

Для запуска скрипта во-первых, скопируйте код ниже в текстовый файл и сохраните с расширением .js. Для того чтобы запустить его с параметрами, откройте командную строку (cmd.exe), перейдите в каталог со скриптом (cd «путь к каталогу») и запустите его, например:

где 1 2 3 параметры, пишутся с пробелом.

Примечание! В остальных примерах мы не будем передавать параметры, поэтому можно просто запускать скрипт путем двойного клика. Если в будущем у Вас возникнет необходимость в качестве параметра передавать файл, можно запускать как из командной строки (например, test.js C:\folder\name_file), так и путем простого перетаскивания нужного файла на файл скрипта.

Пример 1 — Вывод сообщения

Идем далее, и на очереди объект WshNetwork.

Объект WshNetwork

WshNetwork – объект работы с ресурсами локальной сети. Он поможет в определение имени пользователя, компьютера, домена, в который входит компьютер, а также можно подключать сетевые диски и принтера.

Объект WshNetwork имеет следующие свойства:

  • ComputerName — имя компьютера;
  • UserDomain — имя домена;
  • UserName — имя пользователя.

У данного объекта есть свои методы:

  • AddPrinterConnection — используется для подключения локального порта к сетевому принтеру. В качестве параметров передаются:

AddPrinterConnection (имя локального порта, имя сетевого принтера [,сохранить в профиле true/false] [,имя пользователя] [,пароль])

  • EnumNetworkDrives – возвращает список сетевых дисков и их пути. В первом элементе буква, во втором путь. Поэтому когда будем считывать эти данные циклом, шагом будет служить 2 элемента;
  • EnumPrinterConnections — возвращает список подключенных принтеров;
  • MapNetworkDrive – подключает сетевой ресурс. В качестве параметров можно передавать:

MapNetworkDrive (локальное имя диска, что подключаем, [сохранить в профиле true/false], [,имя пользователя] [,пароль])

  • RemoveNetworkDrive — отключает подключенный сетевой диск. В качестве параметров:

RemoveNetworkDrive (что отключаем, [игнорируем, если используется true/false], [,удалить из профиля true/false])

  • RemovePrinterConnection — отключает подключенный сетевой принтер. Параметры:

RemovePrinterConnection (что отключаем, [игнорируем, если используется true/false], [,удалить из профиля true/false])

  • SetDefaultPrinter — делает заданный принтер принтером по умолчанию. Один единственный параметр:

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

Пример 2 — Выводим имя пользователя, имя компьютера и сетевые диски

Переходим к следующему объекту WshShell.

Объект WshShell

WshShell – служит для многих задач, например, запустить новый процесс, создать ярлык, работать с реестром, посылать нажатие клавиш. Мы его уже затрагивали в прошлой статье, но сейчас рассмотрим подробней.

  • CurrentDirectory — хранится полный путь к текущему каталогу (из которого был запущен скрипт);
  • Environment — содержит объект WshEnvironment, который обеспечивает доступ к переменным среды операционной системы;
  • SpecialFolders — содержит объект WshSpecialFolders для доступа к специальным папкам Windows.
  • AppActivate(какой процесс) – делает активным указанный процесс или программу с заданным названием, если конечно она запущена;
  • CreateShortcut(путь) – создает, изменяет ярлыки windows.
  • Popup – создает сообщение windows. Мы его уже затрагивали в прошлой статье. В качестве параметра можно указывать:

Popup(текст, [сколько будет висеть сообщение в сек] , [заголовок сообщения], [тип иконки]) ;

  • RegDelete(название параметра или раздела) — для удаления параметра или раздела целиком в реестре;
  • RegRead(название параметра или раздела) – читает значения реестра;
  • RegWrite – запись значения в реестр. Могут передаваться следующие параметры:

RegWrite(куда пишем, значение [,тип значения]);

  • Run(что именно) – запускает новое приложение;
  • SendKeys(что посылаем) — посылает нажатие клавиш, то же самое, если бы Вы нажимали сами на клавиатуре.

Пример 3 — Работа с приложением и реестром Windows

Теперь пример. Он довольно простой и особо ничего не делает, но зато даст Вам понять принципы использования этих свойств и методов.

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

По-моему довольно все просто и понятно!

В прошлой статье мы работали с excel, теперь давайте попробуем сделать что-нибудь в word.

Пример 4 – Работа с Word

Давайте просто создадим word документ, добавим таблицу и заполним ее некими данными. Вместо вымышленных данных можно использовать данные, например, из текстового файла, как это мы делали в прошлый раз, т.е. считать данные из текстового файла и записать их в таблицу word.

Я думаю на сегодня достаточно, надеюсь, эти примеры помогут Вам освоить WSH на Jscript. В дальнейшем мы продолжим изучение WSH и в частности Jscript, удачи!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Windows script host for windows 10
  • Windows script host 800c0005
  • Windows script file расширение wsf
  • Windows screen manager что это
  • Windows screen full screen


  • Escape-последовательность Описание