Как добавить в контекстное меню создать файл py

Обновлено: 07.07.2024

Однажды я уже рассказывал на Хабре, как можно добавить собственную команду в контекстное меню браузера Internet Explorer (Удобное дополнение к IE при написании обзоров / Internet Explorer / Хабрахабр). Сейчас я расскажу, как добавить свою команду в контекстное меню Проводника. Поехали.

Информация о контекстном меню Проводника и Рабочего стола хранится в разделе реестра HKEY_CLASSES_ROOT\Directory\Background\Shell. Именно отсюда система узнает, какие команды нужно отобразить в контекстном меню и какие программы нужно запустить, когда пользователь щелкает по выбранной команде меню. Таким образом, вооружившись этими знаниями, мы сможем сами создавать нужные нам команды.

Итак, чтобы добавить новую команду в контекстное меню, достаточно создать в разделе HKCR\Directory\Background\Shell новый подраздел. Предположим, мы хотим, чтобы в меню появилась команда, запускающая стандартный Блокнот. Создаем подраздел notepad и сразу можем проверить и убедиться, что в контекстном меню Рабочего стола появилась одноименная команда. Нам даже не пришлось перезагружать компьютер. Естественно, такая команда не очень нас устраивает, и мы хотим задать собственный текст, например, Блокнотик. Для этого редактируем параметр по умолчанию созданного подраздела и записываем для него новое значение, которое мы хотим видеть, например, прописываем слово Блокнотик. Снова проверяем и убеждаемся, что в контекстном меню появилась наша команда.


  • MUIVerb – значение данного параметра заменяет собой значение параметра по умолчанию, т.е. мы можем в этом параметре задать имя для команды в меню.
  • Extended – при наличии данного параметра без значения говорит системе о том, что команда должна отображаться только при нажатии клавиши Shift. Вы можете посмотреть на подраздел HKEY_CLASSES_ROOT\Directory\Background\shell\cmd, в котором содержится такой параметр. Поэтому, если держать нажатой клавишу Shift, то в контекстном меню появится команда Открыть окно команд.

Теперь перейдем к подразделам. Прежде всего, нужно создать подраздел command. Параметр по умолчанию данного подраздела должен содержать в себе команду, которая будет выполняться при выборе соответствующего элемента контекстного меню. В нашем случае, нужно прописать команду notepad.exe.


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

Включение/выключения эскизов

Рассмотрим практический пример создания собственной команды в меню Проводника. Если вы предпочитаете просматривать файлы в режиме Значки, то заметили, что, например, значки картинок отображаются в виде эскизов. В настройках папки можно изменить данное поведение и отключить показ эскизов. Но включать или отключать эти настройки очень утомительно. Судите сами – сначала надо нажать на клавишу Alt, чтобы появилась строка меню у Проводника, далее выбираем меню Сервис | Параметры папок…. После этого нужно переключиться на вкладку Вид и поставить или убрать флажок у команды Всегда отображать значки, а не эскизы. Упростим задачу при помощи реестра и небольшого VBS-сценария, который циклически меняет значения параметра IconsOnly в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced. Создадим новый раздел ToggleThumb в разделе HKEY_CURRENT_USER\Software\Classes\Directory\Background\Shell и присвоим параметру по умолчанию строковое значение Включить/Выключить эскизы. Тем самым мы создали новую команду для контекстного меню папки в Проводнике. Обратите внимание, что теперь мы используем раздел HKEY_CURRENT_USER, чтобы действие примера распространялось только на одного пользователя. Теперь создаем подраздел command и прописываем в параметре по умолчанию строку wscript.exe "%WinDir%\togglethumbs.vbs". Далее нужно создать сценарий, который будет переключать режим показа эскизов.

Сохраните созданный сценарий под именем togglethumbs.vbs и скопируйте его в папку Windows.
Теперь вы можете открыть Проводники и проверить работу новой команды. Для удобства я сначала выбрал режим Крупные значки, которые отображаются в виде эскизов.

Отображение файлов в виде эскизов

Далее я выбрал в контекстном меню пункт Включить/Выключить эскизы и получил следующий результат – вместо эскизов я увидел значки программы Adobe Photoshop, ознакомительную версию которой я поставил несколько дней назад на своем компьютере.

Отображение файлов в виде значков

Удаление содержимого папки без удаления самой папки

Практически аналогично добавляется собственная команда и в контекстное меню папки. Недавно я нашел один пример применения контекстного меню папки в Проводнике — Add Empty Folder Contents to Windows 7 Right Click Context Menu. | The Windows Club.

Автор примера рассказывает, как добавить в контекстное меню папки команду для удаления содержимого папки без удаления самой папки. Т.е. вам не придется открывать папку, выделять все файлы и нажимать на клавишу Delete, достаточно выбрать команду Удалить содержимое папки. Я немного модифицировал пример, чтобы он более органично смотрелся на русской версии Windows.

Для этого добавляем в раздел HKEY_CLASSES_ROOT\Directory\shell подраздел DeleteFolderContent и создаем в нем строковый параметр MUIVerb со строкой Удалить содержимое папки. Далее в разделе DeleteFolderContent создаем подраздел command и в его параметре по умолчанию прописываем строчку:

Все готово и можете пользоваться примером.

Заключение

Хочу предупредить, что я рассказал про основные приемы создания команд в контекстном меню Проводника. Реестр — достаточно сложная штука и существуют другие способы работы с контекстном меню.


Добавление пункта в контекстное меню файла
Как сделать так что бы при нажатии на файл правой клавишей в меню был пункт "Открыть с помощью.


Как создать контекстное меню. Например нажимая на richTextBox правой кнопкой мыши, мне бы предоставлялось контекстное меню
Как создать контекстное меню. Например нажимая на richTextBox правой кнопкой мыши, мне бы.

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

Добавление пункта в контекстное меню .csv
Добрый день! Пытаюсь добавить пункт в контекстное меню для своего скрипта. Работает он с файлами.

Damenikx, добавить в контекстное меню пункт можно через реестр. Там же, в параметрах команды, можно задать команду на выполнение вашего скрипта. То, что я описал, соответствует вашей задаче? Alli_Lupin, да, спасибо большое. Возможно вы можете порекомендовать статью либо же ссылку, как это сделать? Damenikx, вот первое, что я нагуглил за минуту) не стесняйтесь использовать поисковые системы) Alli_Lupin, спасибо, проблема в том, что я не знал, как правильно задать вопрос поисковой системе и натыкался на то, что не надо. Damenikx, вы поняли, как делать? Или ещё что-то нужно? Alli_Lupin, я ещё не начал читать, но попробую разобраться самостоятельно, спасибо.

dondublon, эм, я вроде нигде не писал "по средствам".

Добавлено через 6 секунд
Либо я слеп.

Ёханый бабай. Адмииииииииин, исправь этот позор, пожалуйста :)

Добавлено через 3 часа 35 минут
Итак, прочитать то я прочитал, но я не нашёл, как именно добавить скрипт питона. Более того интересна та часть, где (пишу, как человек, который первый раз сел за компьютер):

1) У меня есть скрипт питона, который, предположим, меняет название файла.
2) Я, правой кнопкой нажимаю на файл, имя которого мне надо поменять, затем, в этом меню выбираю название которое я задал в реестре, допустим. "Шишка".
3) Значит, при нажатии на "Шишку" файл должен изменить имя на то, которое я прописал в скрипте заранее.

Как заставить питон понимать, что именно к этому файлу (который я выбрал правой кнопкой и вызвал контекстное меню) необходимо применить скрипт?

Я хотел бы написать скрипт Python, который будет загружать любой файл, который я выберу в проводнике Windows. Идея состоит в том, чтобы выбрать любой файл в проводнике Windows, щелкнуть правой кнопкой мыши, чтобы отобразить контекстное меню файла, и выбрать команду оттуда . что-то вроде «Загрузить на веб-сервер».

После выбора команды Python запускает скрипт, который получает путь к файлу и имя файла для загрузки. Написание скрипта Python, который будет загружать файл в Интернет, кажется простым. Неясно, как создать сущность в контекстном меню Windows для скрипта Python. И как передать путь к файлу и имя файла в скрипт Python для отлова . Пожалуйста, посоветуйте!

4 ответа

Предполагая Windows 7, если вы откроете папку и наберете «shell: sendto» в адресной строке, а затем нажмите «Enter», вы попадете в контекстное меню. Вы можете добавить .cmd файл со следующим.

Это должно выполнить ваш скрипт на Python, передав в файл (% 1) в качестве параметра. В скрипте Python вы можете использовать:

На этой веб-странице Добавление действий контекстного меню Windows есть приятный скрипт на python, который зарегистрирует контекстное меню для передачи. путь к файлу вашего скрипта Python. Я не пробовал, но выглядит легко изменить этот образец для того, что вам нужно сделать. Плюс, таким образом, это на один клик меньше, чем решение sendTo, я думаю.

Вместо %1 используйте %* .

%1 передаст первый аргумент, %* передаст все ( %n передаст n-й . )

Обратите внимание, что в командной строке есть ограничения символов 2047 для XP и более ранних версий, 8191 для Windows 7 и потом

Чтобы добавить такие вещи, как скрипты Python, в контекстное меню, вызываемое правой кнопкой мыши, также возможно добавить регистрационные ключи (regedit) в

Там добавьте контейнер, назовите его строкой, которую хотите отобразить в контекстном меню. В него добавьте ключ типа REG_SZ, который, например, содержит панель запуска сценариев Python.

Разные уроки и рекомендации, по компьютерам, программам и операционным системам.

пятница, 13 сентября 2013 г.

Добавление нового пункта в меню "Создать"


Общая теория

Когда мы щелкаем правой кнопкой мыши на свободном месте Проводника, то в контекстном меню можем увидеть команду Создать с подменю. Например, мы можем таким образом создать новый текстовый файл, документ WORD и так далее. Часто в этом меню присутствуют и команды установленных вами программ.

Помните!
Работа с реестром, может привести к нестабильной работе системы.
Вы проделываете все операции, на свой страх и риск.

Стандартные пункты списка Создать

Создаем свою команду

Вы сами можете создать при необходимости свою команду. За команды в контекстном меню Создать отвечает раздел ShellNew в разделеHKEY_CLASSES_ROOT. Вам нужно найти необходимое расширение файла (напр. .doc) и изучить раздел ShellNew. Вы можете либо удалить ее, чтобы скрыть команду из контекстного меню, либо добавить свои команды.

Например, если вы веб-дизайнер, то было бы удобно иметь пункт Документ HTML, который позволит вам сразу создать заготовку для вашей странички.

Разобъем работу на несколько этапов. Для начала найдем каталог ShellNewв папке Windows. Там хранятся заготовки для файлов, которые создаются с помощью контекстного меню. Например, если у вас установлен Microsoft Office, то вы увидите в этом каталоге файлы-заготовки для Word и Exce.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Мой заголовок</title>
</head>
<body>
</body>
</html>

Существуют и другие способы. Можно не создавать шаблон файла. Он может быть и пустым, но тогда вместо параметра FileName надо создать пустой строковый параметр NullFile.

Параметры

Параметры FileName, Data, NullFile, Command все вместе использовать нельзя, можно применять только один из них.

Command этот параметр строкового типа определяет команду, которая будет выполняться при выборе соответствующего пункта меню Создать (то есть содержимое этого параметра ничем не отличается от содержимого параметра (По умолчанию) подраздела Command. NullFile данный строковый параметр не должен содержать никакого значения. При этом после выбора команды для создания файла соответствующего расширения будет создаваться пустой файл. Например, при помощи этого параметра создаются текстовые файлы. FileName имеет строковый тип и определяет путь и имя файла, который будет создаваться (просто копироваться в папку, из которой был вызван список Создать, или на Рабочий стол) после выбора соответствующей команды меню Создать. Data данный параметр двоичного типа содержит последовательность цифр в шестнадцатеричной системе счисления, которую система будет использовать для генерации содержимого файла (например, этот параметр используют файлы с музыкальным содержимым для возможности создания пустого файла-образца звука).

Читайте также: