- Основы языка JScript — написание WSH скриптов
- Что такое Windows Script Host?
- Возможности Windows Script Host
- Примеры написания WSH скриптов
- Выводим сообщение на JScript
- Работа с Excel на JScript
- Работа с текстовым файлом и Excel на JScript
- script engine
- Смотреть что такое «script engine» в других словарях:
- Устраняем ошибку Windows Script Host
- Исправляем ошибку Windows Script Host
- Вариант 1: Системное время
- Вариант 2: Служба обновлений
- Вариант 3: Некорректно установленные обновления
- Вариант 4: Нелицензионная Windows
- Заключение
Основы языка 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 файлов. До встречи!
script engine
Англо-русский толковый словарь терминов и сокращений по ВТ, Интернету и программированию. . 1998-2007 .
Смотреть что такое «script engine» в других словарях:
Script creation utility for maniac mansion — SCUMM pour Script Creation Utility for Maniac Mansion est un moteur de jeu doté de nombreuses innovations techniques pour l époque permettant aisément de réaliser un jeu d aventure graphique et de le porter assez rapidement sur diverses plate… … Wikipédia en Français
Script for a Jester’s Tear — Album par Marillion Sortie Mars 1983 Enregistrement De décembre 1982 à février 1983 aux Marquee Studios (Londres) Durée 46:58 (version originale) 1:36:01 (version remasterisée) … Wikipédia en Français
Script Creation Utility for Maniac Mansion — SCUMM steht für Script Creation Utility for Maniac Mansion (englisch für Skripterstellungswerkzeug für Maniac Mansion). Es handelt sich dabei um Software, die 1987 von Ron Gilbert und Aric Wilmunder für Lucasfilm Games programmiert wurde, um die… … Deutsch Wikipedia
Script Creation Utility for Maniac Mansion — SCUMM – acronyme de Script Creation Utility for Maniac Mansion – est un moteur de jeu doté de nombreuses innovations techniques pour l époque permettant aisément de réaliser un jeu d aventure graphique et de le porter assez rapidement sur… … Wikipédia en Français
Windows Script Host — The Icon For Windows Script Host The Microsoft Windows Script Host (WSH) is an automation technology for Microsoft Windows operating systems that provides scripting capabilities comparable to batch files, but with a greater range of supported… … Wikipedia
Rhino (JavaScript engine) — Rhino Developer(s) Mozilla Foundation / Mozilla Corporation Stable release 1.7R3 / May 9, 2011; 6 months ago ( … Wikipedia
MIVA Script — Paradigm(s) imperative Appeared in 1996 (1996) Developer Miva Merchant Stable release 5.13 … Wikipedia
C4 Engine — Infobox Software name = C4 Engine caption = developer = [http://www.terathon.com/ Terathon Software LLC] latest release version = Version 1.4.10 latest release date = July 25, 2008 latest preview version = Version 1.4.10 latest preview date =… … Wikipedia
Game Engine — Moteur de jeux Un moteur de jeu est une application informatique (dite de type middleware) apportant les fonctionnalités principales au fonctionnement d un jeu vidéo, mais aussi une aide au développement ou à la portabilité du jeu. Les… … Wikipédia en Français
Game engine — Moteur de jeux Un moteur de jeu est une application informatique (dite de type middleware) apportant les fonctionnalités principales au fonctionnement d un jeu vidéo, mais aussi une aide au développement ou à la portabilité du jeu. Les… … Wikipédia en Français
Leadwerks Engine — infobox software name = Leadwerks Engine developer = Leadwerks Software operating system = Windows XP,Windows Vista,Linux genre = Game engine latest release version = Version 2.1 latest release date = September 16, 2008 website =… … Wikipedia
Устраняем ошибку Windows Script Host
Исправляем ошибку Windows Script Host
Сразу стоит сказать о том, что если вы писали свой скрипт и при его запуске получили ошибку, то необходимо искать проблемы в коде, а не в системном компоненте. Например, вот такое диалоговое окно говорит именно об этом:
Такая же ситуация может возникнуть и в том случае, когда в коде имеется ссылка на другой скрипт, путь к которому прописан неверно либо данный файл вовсе отсутствует на компьютере.
Далее мы поговорим о тех моментах, когда при старте Windows или запуске программ, например, Блокнота или Калькулятора, а также других приложений, использующих системные ресурсы, появляется стандартная ошибка Windows Script Host. Иногда подобных окон может появиться сразу несколько. Случается такое после обновления операционной системы, которое может пройти как в штатном режиме, так и со сбоями.
Причины такого поведения ОС следующие:
- Неверно выставленное системное время.
- Сбой в работе службы обновлений.
- Некорректная установка очередного апдейта.
- Нелицензионная сборка «винды».
Вариант 1: Системное время
Многие пользователи думают, что системное время, которое показывается в области уведомлений, существует только для удобства. Это не совсем так. Некоторые программы, обращающиеся к серверам разработчиков или к иным ресурсам, могут работать некорректно или вовсе отказаться функционировать по причине расхождений в дате и времени. Это же касается и Windows с ее серверами обновления. В том случае, если будет расхождение в вашем системном времени и времени сервера, то могут наблюдаться неполадки с апдейтами, поэтому на это стоит обратить внимание в первую очередь.
- Нажимаем на часы в правом нижнем углу экрана и переходим по ссылке, указанной на скриншоте.
Далее идем на вкладку «Время по интернету» и жмем на кнопку изменения параметров. Обратите внимание, что ваша учетная запись должна обладать правами администратора.
В окне настроек устанавливаем галку в указанный на изображении чекбокс, затем в выпадающем списке «Сервер» выбираем time.windows.com и нажимаем «Обновить сейчас».
Если все пройдет успешно, то появится соответствующая надпись. В случае ошибки с превышением времени ожидания просто нажимаем кнопку обновления еще раз.
Теперь ваше системное время будет регулярно синхронизироваться с сервером времени Майкрософт и расхождения не будет.
Вариант 2: Служба обновлений
Windows – это очень сложная система, с множеством одновременно протекающих процессов, и некоторые из них могут повлиять на работу службы, отвечающей за обновление. Высокое потребление ресурсов, различные сбои и занятость компонентов, помогающих апдейту, «заставляют» службу совершать бесконечные попытки выполнить свою работу. Сам сервис также может сбоить. Выход здесь один: отключить его, а затем перезагрузить компьютер.
- Вызываем строку «Выполнить» сочетанием клавиш Win+R и в поле с названием «Открыть» пишем команду, которая позволит получить доступ к соответствующей оснастке.
В списке находим «Центр обновления», кликаем ПКМ и выбираем пункт «Свойства».
В открывшемся окне жмем кнопку «Остановить», а затем ОК.
После перезагрузки служба должна запуститься автоматически. Стоит проверить, так ли это и, если она все еще остановлена, включить ее тем же способом.
Если после выполненных действий ошибки продолжают появляться, то необходимо поработать с уже установленными обновлениями.
Вариант 3: Некорректно установленные обновления
Данный вариант подразумевает удаление тех обновлений, после установки которых начались сбои в Windows Script Host. Сделать это можно как вручную, так и с помощью утилиты восстановления системы. В обоих случаях необходимо вспомнить, когда «посыпались» ошибки, то есть после какой даты.
- Идем в «Панель управления» и находим апплет с названием «Программы и компоненты».
Далее переходим по ссылке, отвечающей за просмотр обновлений.
Сортируем список по дате установки, кликнув по шапке последней колонки с надписью «Установлено».
Выбираем нужное обновление, кликаем ПКМ и выбираем «Удалить». Также поступаем с остальными позициями, помня про дату.
- Для перехода к данной утилите кликаем правой кнопкой мыши по значку компьютера на рабочем столе и выбираем пункт «Свойства».
Далее переходим к «Защите системы».
Нажимаем кнопку «Восстановление».
В открывшемся окне утилиты жмем «Далее».
Ставим галку, отвечающую за показ дополнительных точек восстановления. Необходимые нам поинты будут называться «Автоматически созданная точка», тип – «Система». Из них необходимо выбрать ту, которая соответствует дате последнего обновления (или того, после которого начались сбои).
Жмем «Далее», ждем, пока система предложит перезагрузиться и выполнит действия по «откату» к предыдущему состоянию.
Обратите внимание, что в этом случае могут быть удалены и те программы и драйвера, которые были установлены вами после этой даты. Узнать, произойдет ли это, можно нажав кнопку «Поиск затрагиваемых программ».
Читайте также: Как восстановить систему Windows XP, Windows 8, Windows 10
Вариант 4: Нелицензионная Windows
Пиратские сборки «винды» хороши лишь тем, что они совершенно бесплатны. В остальном же такие дистрибутивы могут принести массу проблем, в частности, некорректную работу необходимых компонентов. В этом случае рекомендации, приведенные выше, могут не сработать, так как файлы в скачанном образе уже были сбойными. Здесь можно только посоветовать поискать другой дистрибутив, но лучше воспользоваться лицензионной копией Windows.
Заключение
Решения проблемы с Windows Script Host довольно просты, и с ними справится даже начинающий пользователь. Причина здесь ровно одна: некорректная работа инструмента обновления системы. В случае с пиратскими дистрибутивами можно дать следующий совет: пользуйтесь только лицензионными продуктами. И да, правильно пишите ваши скрипты.