Опять же, всё зависит от задач. Возможно, имеет смысл посмотреть в сторону python или Lua.
Почему программисты пишут программы на C++ и подобных сложных языках, если на Python синтаксис проще, и можно написать программу быстрее?
Вопрос содержит несколько неявных предположений, с ними нужно быть осторожней.
Во-первых, смотря что называть «продолжают писать». Если верить TIOBE index, самому известному индексу популярности языков программирования, за последние 20 лет популярность С++ снизилась почти втрое, а популярность Питона возросла раз в семь. Python обогнал С++ примерно полтора года назад.
Во-вторых, «подобных сложных языков», пожалуй, больше и нет. Из распространенных языков программирования С++ самый монструозный и «навороченный», с кучей парадигм, синтаксических конструкций и тонкостей, позволяющих сотней способов «выстрелить себе в ногу».
В-третьих, на Python можно написать быстрее далеко не любую программу. Если говорить упрощённо, на Python можно быстрее писать многие программы за счёт того, что некоторые писать почти невозможно. Прежде всего, работающие с железом на низком уровне и такие, которые должны выжимать из производительности всё возможное (операционные системы, драйверы, игровые движки).
Как писать BASH скрипты? Закладывание основ или начало с нуля
Ещё одна очень распространенная проблема — это interop и связанная с ним инерция. Программа на Питоне может быть проще, но если ей нужно будет постоянно общаться с уже имеющимися в системе программами, написанными годы назад, например, на С++, то необходимая для этого общения прослойка, как правило, «сжирает» всю простоту, а программисту оказывается нужно хорошо знать не более простой язык, а сразу оба.
Основы языка 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-скрипты на этом языке программирования.
Как создать скрипт продаж? 4 ЛУЧШИЕ ПЛАТФОРМЫ ДЛЯ СКРИПТОВ ПРОДАЖ. Конструкторы, сервисы, программы
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-админов
Будучи какое-то время назад админом (ленивым), написал несколько скриптов, автоматизирующих рутину и позволяющих еще больше лениться. Админством я больше не занимаюсь, а скрипты выкладываю, может кому пригодятся.
1. Авто-установка описания компьютера локально и в AD
В компании был стандарт на наименование компьютеров, что-то вроде COMPUTERxxxx (xxxx — это цифра), соответсвенно Хелпдеску было сложно по имени человека найти компьютер для начальной диагностики и удаленного подключения, а объяснение рядовому пользователю как определить имя компьютера занимало много времени. Решение пришло в виде скрипта.
После запуска шерстит все компьютеры из указанных OU и устанавливает описание в зависимости от залогиненного пользователя.
* Скрипт должен запускаться от учетки, имеющей админские права на компьютерах и доступ на изменение описания компьютера в AD.
** Не корректно работает на Windows 2000, если залогиненый пользователь не локальный администратор, с Windows Vista не тестировался.
Перед запуском нужно настроить скрипт.
2. Авто-очистка «папки обмена»
Каждый отдел в компании имел свою папку, куда не имели доступ другие отделы. Для обмен информацией между отделами (презентации, текст, да и музыка) извращались как могли. Пришлось создать папку для обмена и скрипт, очищаюший ее, чтобы информация там не залеживалась.
Логика скрипта: файлы, со дня создания/модификации которых прошло 10 дней, помещаются в спец папку внутри папки обмена (_deletion_queue_), после чего из папки «на удаление», через 7 дней, файлы удаляются совсем.
Все настраивается переменными в скрипте.
3. Редирект «Избранного»
Microsoft предусмотрела редирект практически всего, кроме «Избранного». Почему — загадка. В компании было жесткое правило, чтобы все данные хранились на серверах. Потеря «Избранного», конечно, не смертельна, но неприятна. Поэтому я написал скрипт, который делает редирект «Избранного» в папку на сервере.
PS. Скрипты писались «для себя», поэтому, перед использованием настройте и проверьте на чем-нибудь не важном
Источник: onecomp.ru
Написание и запуск сценариев в интегрированной среде сценариев Windows PowerShell
В этой статье описано как создавать, редактировать, выполнять и сохранять скрипты в области скриптов.
Создание и выполнение сценариев
В области скриптов можно открывать и редактировать файлы Windows PowerShell. Сейчас нас интересуют следующие типы файлов Windows PowerShell: файлы скриптов ( .ps1 ), файлы данных скриптов ( .psd1 ) и файлы модулей скриптов ( .psm1 ). Эти типы файлов имеют цветовую подсветку синтаксиса в редакторе области сценариев. Другие стандартные файлы, которые можно открыть в области сценариев, — это файлы конфигурации ( .ps1xml ), XML-файлы и текстовые файлы.
Политика выполнения Windows PowerShell определяет, можно ли выполнять сценарии, загружать профили Windows PowerShell и файлы конфигурации. Политика выполнения по умолчанию, Restricted, запрещает выполнение сценариев и блокирует загрузку профилей. Чтобы изменить эту политику выполнения и разрешить загрузку и использование профилей, см. описание Set-ExecutionPolicy и about_Signing.
Создание файла сценария
Нажмите кнопку Создать на панели инструментов или откройте меню Файл и выберите Создать. Созданный файл появится на вкладке «Новый файл» под текущей вкладкой PowerShell. Помните, что вкладки PowerShell отображаются, только если их несколько. По умолчанию создается файл сценария ( .ps1 ), но его можно сохранить с новым именем и расширением. На одной вкладке PowerShell может быть создано несколько файлов сценариев.
Открытие существующего сценария
Нажмите кнопку Открыть. на панели инструментов или откройте меню Файл и выберите пункт Открыть. В диалоговом окне Открыть выберите файл, который требуется открыть. Открытый файл появится в новой вкладке.
Закрытие вкладки сценария
На вкладке файла, которую нужно закрыть, щелкните значок закрытия (X) или откройте меню File (Файл) и выберите Close (Закрыть).
Если файл был изменен с момента последнего сохранения, будет предложено сохранить или отменить изменения.
Отображение пути к файлу
На вкладке файла наведите курсор на его имя. Появится подсказка с полным путем к файлу сценария.
Запуск сценария
Нажмите кнопку Выполнить сценарий на панели инструментов или откройте меню Файл и выберите пункт Выполнить.
Выполнение части сценария
- Выберите часть сценария в области сценариев.
- Нажмите кнопку Выполнить выделенный фрагмент на панели инструментов или откройте меню Файл и выберите пункт Выполнить выделенный фрагмент.
Остановка выполняемого сценария
Есть несколько способов остановить выполняемый скрипт.
- На панели инструментов щелкните Остановить операцию.
- Нажмите CTRL + BREAK .
- В меню Файл выберите Остановить операцию.
Нажатие клавиш CTRL + C также сработает, если нет выделенного текста. В противном случае нажатие клавиш CTRL + C приведет к копированию выделенного текста.
Написание и редактирование текста в области сценариев
В области скриптов текст можно копировать, вырезать, вставлять, искать и заменять. Также можно отменить и повторить последнее выполненное действие. Для этого используются те же клавиши, как и во всех других приложениях Windows.
Ввод текста в области сценариев
- Установите курсор в область сценариев, щелкнув кнопкой мыши любую ее часть или выбрав пункт Перейти в область сценариев в меню Вид.
- Создайте сценарий. Цветовая подсветка синтаксиса и заполнение нажатием клавиши TAB обеспечивают более широкие возможности для редактирования в интегрированной среде скриптов Windows PowerShell.
- Подробную информацию о заполнении нажатием клавиши TAB, помогающем при вводе кода, см. в статье How to Use Tab Completion in the Script Pane and Console Pane (Использование заполнения нажатием клавиши TAB в областях сценариев и консоли).
Поиск текста в области сценариев
- Чтобы найти текст в любой части скрипта, нажмите клавиши CTRL + F или выберите Find in Script (Найти в сценарии) в меню Edit (Правка).
- Чтобы найти текст после курсора, нажмите клавишу F3 или выберите Найти следующее в сценарии в меню Правка.
- Чтобы найти текст до курсора, нажмите клавиши SHIFT + F3 или выберите Find Previous in Script (Найти предыдущее в сценарии) в меню Edit (Правка).
Поиск и замена текста в области сценариев
Нажмите клавиши CRTL + H или в меню Edit (Правка) выберите Replace in Script (Заменить в сценарии). Введите текст, который нужно найти, и замещающий текст, затем нажмите клавишу ВВОД .
Переход к определенной строке текста в области сценариев
- В области сценариев нажмите клавиши CTRL + G или выберите Go to Line (Перейти к строке) в меню Edit (Правка).
- Введите номер строки.
Копирование текста в области сценариев
- В области сценариев выделите текст, который требуется скопировать.
- Нажмите клавиши CTRL + C , щелкните значок Copy (Копировать) на панели инструментов или выберите Copy (Копировать) в меню Edit (Правка).
Вырезание текста в области сценариев
- В области сценариев выделите текст, который требуется вырезать.
- Нажмите клавиши CTRL + X , щелкните значок Cut (Вырезать) на панели инструментов или выберите Cut (Вырезать) в меню Edit (Правка).
Вставка текста в области сценариев
Нажмите клавиши CTRL + V , щелкните значок Paste (Вставить) на панели инструментов или выберите Paste (Вставить) в меню Edit (Правка).
Отмена действия в области сценариев
Нажмите клавиши CTRL + Z , щелкните значок Undo на панели инструментов или выберите Отменить в меню Правка.
Повторное выполнение действия в области сценариев
Нажмите клавиши CTRL + Y , щелкните значок Повторить на панели инструментов или выберите Повторить в меню Правка.
Сохранение сценария
Звездочка рядом с именем скрипта обозначает, что файл не был сохранен после изменения. После сохранения звездочка исчезает.
Сохранение сценария
Нажмите клавиши CTRL + S , щелкните значок Сохранить на панели инструментов или выберите Сохранить в меню Файл.
Сохранение сценария с определенным именем
- В меню Файл выберите пункт Сохранить как. Появится диалоговое окно Сохранить как.
- В поле Имя файла введите имя файла.
- В поле Тип файла выберите тип файла. Например, в поле Тип сохраняемого файла выберите «Скрипты PowerShell ( *.ps1 )».
- Нажмите Сохранить.
Сохранение сценария в кодировке ASCII
По умолчанию интегрированная среда сценариев Windows PowerShell сохраняет новые файлы скриптов ( .ps1 ), файлы данных скриптов ( .psd1 ) и файлы модулей скриптов ( .psm1 ) в кодировке Юникод (BigEndianUnicode). Чтобы сохранить сценарий в другой кодировке, например ASCII (ANSI), используйте методы Save или SaveAs объекта $psISE.CurrentFile.
Следующая команда сохраняет новый сценарий в кодировке ASCII и с именем MyScript.ps1:
$psISE.CurrentFile.SaveAs(«MyScript.ps1», [System.Text.Encoding]::ASCII)
Следующая команда заменяет текущий файл сценария на файл с таким же именем, но в кодировке ASCII:
$psISE.CurrentFile.Save([System.Text.Encoding]::ASCII)
Следующая команда возвращает кодировку текущего файла:
$psISE.CurrentFile.encoding
Интегрированная среда скриптов Windows PowerShell поддерживает следующие параметры кодировки: ASCII, BigEndianUnicode, Unicode, UTF32, UTF7, UTF8 и Default. Значение параметра Default зависит от системы.
Интегрированная среда скриптов Windows PowerShell не изменяет кодировку файлов скриптов при использовании команд «Сохранить» или «Сохранить как».
См. также:
Источник: learn.microsoft.com
Скрипты для тех, кто работает с текстом и кодом
За праздники я написал 3 небольшие программки для Windows, которые могут сэкономить ваше время и сделать работу за компьютером проще.
- HTML — чтобы быстро ставить теги в любой программе
- Typograf — чтобы подготовить текст к публикации или верстке
- Snippet — чтобы быстро писать большие фрагменты текста или кода
Версия 1.09
Скачать
Скрипты еще сырые, возможны ошибки. Если что-то не будет работать — напишите мне. Если есть предложения и идеи — тоже напишите.
HTML
Что делает? Обрамляет выделенный текст html-тегами. Работает в любом редакторе и в браузере.
Как пользоваться? Выделите текст, нажмите Ctrl и горячую клавишу. Вокруг текста появятся теги. Чтобы поставить одинарные теги (,
и ) выделять текст не надо.
Горячие клавиши:
Win+F11 — пауза
Ставьте скрипт на паузу, когда не работаете с кодом. Так вы сможете использовать стандартные сочетания клавиш в программах. Например, Ctrl+P — это печать документа.
Typograf
Что делает? Это Типограф Лебедева прямо в текстовом редакторе. Ставит неразрывные пробелы, длинные тире и правильные кавычки.
Как пользоваться? Выделите текст и нажмите горячую клавишу, чтобы оттипографить его.
Горячие клавиши:
- Alt+Z — оттипографить.
- Shift+Alt+Z — оттипографить и поставить теги переноса
в конце каждой строки. - Alt+X — оттипографить, закрыть абзацы в теги .
- Shift+Alt+X — оттипографить, закрыть абзацы в теги и поставить теги переноса
в конце каждой строки. - Win+F10 — пауза
Snippet
Что делает? Создает сниппет — блок текста, который вызывается по команде. Позволяет быстро написать шаблонный ответ, дать ссылку или вставить кусок кода. Проще объяснить на примере.
Когда мне нужно написать код, я вызываю консоль и пишу заголовок. А вместо него подгружается весь сохраненный текст.
Скрипт работает везде, где есть поля для ввода текста: в редакторах, мессенджерах, браузерах, почте.
Как пользоваться?
Вызовите консоль с помощью Alt+A и начните вводить название сниппета. Программа подскажет варианты. Выберите нужный — и текст появится в активном окне.
Чтобы создать новый сниппет, нажмите Win+X, введите текст и название. Вы можете выделить текст, который хотите сохранить, и нажать Win+X. Он автоматически скопируется в консоль.
Сниппеты хранятся в формате txt в папке Snippets. Вы можете удалять их, редактировать и создавать с помощью любого текстового редактора. Название файла — это заголовок сниппета, а содержимое — его тело.
Горячие клавиши:
- Alt+A — консоль для вызова сниппетов
- Win+X — консоль для создания сниппетов
- Win+F9 — пауза
Установка
Устанавливать программы не надо. Скачайте архив, и запустите нужный скрипт. Он начнет работать в фоновом режиме — в трее появится значок.
Версия 1.09
Скачать
Чтобы добавить скрипты в автозагрузку, кликните по значку в трее правой кнопкой мыши и нажмите Autorun.
Выключается автозагрузка так же
Программы занимают около 2 Мб оперативной памяти, так что на работу компьютера особо не повлияют. Если скрипт занял нужные вам горячие клавиши, поставьте его на паузу.
Не переносите файлы скриптов из родной папки — они потеряются, не найдут дорогу к друзьям и будут выдавать ошибки. Папку целиком можно переносить куда угодно, даже на флешку.
Некоторые антивирусы считают скрипты вредными и автоматически удаляют. Если это произошло, скачайте программы еще раз и добавьте их в исключения.
Редактирование
Мои скрипты можно редактировать: изменять горячие клавиши, переделывать алгоритмы, использовать их куски в своих скриптах.
Исходники лежат в папке /ahk и открываются в любом текстовом редакторе. Мне удобно работать в NotePad++ и в Sublime Text 3.
Чтобы запустить отредактированный скрипт, вам нужна бесплатная программа AutoHotkey. С ней вы можете запускать сами исходники или сделать из них exe-файлы, которые работают на любом компьютере.
Почитать о работе со скриптами можно здесь:
- Руководство на английском
- Руководство на русском
- Серый форум
Спасибы
Спасибо Максиму Ильяхову за идею.
Спасибо Александру Востресу и Павлу Зегельману за то, что одновременно рассказали про AutoHotkey.
Спасибо участникам Серого форума Teadrinker и Malcev за помощь с подключением к Типографу. Спасибо Serzh82saratov за предоставленный кусочек кода для консоли сниппетов. Спасибо Дмитрию Людмирскому за код, добавляющий скрипты в автозагрузку.
Источник: molyanov.ru