Windows - Новые пункты контекстного меню

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество
Перейти к навигации Перейти к поиску

Речь пойдёт о добавлении новых пунктов в контекстное меню Windows.

Зачем это

Иногда хочется добавить в контекстное меню Windows дополнительные пункты, которые будут выполнять какое-либо требуемое действие. Например, чтобы по нажатию правой кнопкой мыши на файл с фотографией в контекстном меню был пункт "Сделать хорошо", который бы:

  • удалял эффект красных глаз;
  • проводил цветовую коррекцию;
  • дорисовывал египетские пирамиды;
  • постил итоговую фотку в Инстогром.

Вот это автоматизация, да? Но конкретно именно такую сделать будет трудно, потому расскажем о чём попроще.

Как это сделать

Можно вручную править реестр, добавляя новые разделы и ключи. Но это долго и скучно.

Быстрее и веселее это можно сделать с помощью специально для этого предназначенного софта. Выбор довольно большой, всё рассматривать не будем - вполне достаточно одной программы.

Open++

Это расширение контекстного меню Windows. Загрузить программу можно на её странице. Там же приведено руководство по использованию. Обратите внимание, что если у вас 64-разрядная операционная система, то версию нужно также x64, иначе не будет работать.

Устанавливается просто - распаковываете архив в директорию, где у вас ставится весь софт, запускаете, переходите на вкладку Install/Uninstall и жмёте Install....

После установки в контекстном меню Windows появляется новый пункт, который содержит своё настраиваемое подменю.

Настройка пунктов Open++

Для изменения/удаления существующих пунктов или добавления новых откройте подменю Open++ и выберите пункт Customize Open++.... Откроется окно настройки пунктов, где всё интуитивно понятно изменяется, удаляется, добавляется.

Вкратце суть такова:

  1. пишете название пункта - как он будет отображаться в меню;
  2. пишете имя программы, которая будет запускаться при выборе этого пункта - либо полный путь к исполняемому файлу, либо только его имя, если его путь находится в системной переменной PATH;
  3. задаёте параметры запуска программы. Здесь можно использовать специальные переменные, которые описаны в руководстве по программе;
  4. ещё можете выбрать иконку для красоты - она также будет отображаться в меню.

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

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

psql - восстановление схемы БД из дампа

Скажем, мы хотим, чтобы для файлов с расширением *.sql появлялся пункт "Восстановить схему из дампа", при выборе которого указанный файл передавался на вход утилите psql из СУБД PostgreSQL, которая выполняла этот скрипт и добавляла схему в БД.

Настройка пункта:

Title: Восстановить схему из дампа
Program: psql.exe
Arguments: -U ВАШЕИМЯПОЛЬЗОВАТЕЛЯДЛЯБД -d ВАШЕИМЯБД -f %FilePaths%
Associate with: Single File
File types: *.sql

Путь к утилите psql.exe находится в системной переменной PATH, потому достаточно указать лишь её имя.

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

7-Zip - упаковка файлов в ZIP с кодировкой имён в UTF-8

Этот пример используется в статье Windows - Кириллица в именах файлов внутри архива ZIP.

Мы хотим, чтобы для выделенной группы файлов/каталогов (или одного файла/каталога) имелся пункт "Упаковать в ZIP с UTF", при нажатии на который выбранные файлы упаковывались архиватором 7-Zip в архив формата ZIP с кодировкой имён файлов в UTF-8.

Настройка пункта:

Title: Упаковать в ZIP с UTF
Program: 7z.exe
Arguments: a -tzip -mcu "%FileDir%"/newarch.zip %FilePaths%
Associate with: Multiple Files or Folders

В результате выполнения в том же каталоге, где находятся исходные файлы, будет создаваться файл архива newarch.zip.