Как заставить отображаться команду «Копировать как путь» в контекстном меню Проводника Windows

Не знаю, как уважаемый читатель,  а я регулярно пользуюсь командой "Копировать как путь". Да и вообще, для меня  - это одна из самых полезных команд, проявившихся в контекстном меню Проводника со времен Vista. И меня откровенно напрягает, что для её вызова я должен удерживать кнопку [k]SHIFT[/k]. Ну а в Windows XP, коей в рядах нашего брата остается ещё совсем немало, вообще такой команды контекстного меню нет.

Сегодня мы будем повышать уровень комфорта экспулатации Проводника, и добавим пресловутую команду, дабы не жать лишних кнопок.

Функциональность отображения пункта меню "Копировать как путь" по клику с SHIFT вшита глубоко в недра системы, и никакими параметрами реестра отображаться в обычном меню его не заставить (это ActiveX-элемент , его GUID={f3d06e7c-1e45-4a26-847e-f9fcdee59be0},  и он просто их не имеет).

Я нашел для себя два способа решения проблемы.

Чтобы скопировать путь к текущей папке, нужно прописать в контекстное меню папок/файлов какое-либо приложение, которое получит в качестве параметра путь к выделенному объекту, и скопирует его в буфер обмена. Можно использовать встроенные средства Windows, а можно воспользоваться сторонними приложениями.

Я рассмотрю оба способа.

Общие действия для обоих способов

Создайте в разделе [code]HKEY_CLASSES_ROOT\AllFilesystemObjects\[/code] раздел shell, в нем подраздел CopyAsPath, а в нем - подраздел Command.

>Для справки: Этот раздел служит общей точкой соприкосновения всех реальных (физических) объектов файловой системы. Грубо говоря, можно сказать, что он является общим и для папок, и для файлов. Команды, определенные в нем, отображаются для всех "настоящих" элементов в Проводнике. Поэтому команду копирования пцти целесообразно определять именно здесь.

У нас получился раздел [code] HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\CopyAsPath[/code]

Здесь параметру по умолчанию раздела задайте нужное текстовое описание, именно оно будет отображаться в контекстном меню Проводника. "Копировать как путь" вполне подойдет.

Ну а теперь - самое главное.

Команда "Копировать как путь": обходимся средствами системы

В параметре по умолчанию в разделе HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\CopyAsPath\Command пропишите это:
[code]cmd /c "echo %1 | clip"[/code]

Команда echo выведет путь к объекту, для которого была вызван наш пункт контекстного меню, а команда clip поместит вывод echo в буфер обмена. Всё просто, быстро, и никаком магии.

Минус такого решения - появляющееся на доли секунды окно командной строки. Это мелочь, но если она вас раздражает, есть второй вариант.

Добавляем "Копировать путь" при помощи Nircmd

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

1. Скачайте NirCMD и распакуйте скачанный архив папку, допустим, в C:\cmdtools

2. В реестре, в разделе [code]HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\CopyAsPath\Command[/code] пропишите это:
[code]c:\cmdtools\nircmd.exe clipboard set "%1"[/code]

Эффект тот же самый, как в первом случае, но без каких-либо окон вообще. Какой бы способ вы бы не предпочли, команда "Копировать как путь" всегда будет присутствовать в контекстном меню, без нажатия кнопки SHIFT:

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

Теперь стандартный пункт меню "Копировать как путь" мне больше не нужен. Чтобы отключить его, можно стереть фигурную скобку из параметра по умолчанию в разделе [code]HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\CopyAsPathMenu[/code]

Его значение примет вид [code]f3d06e7c-1e45-4a26-847e-f9fcdee59be0}[/code], а сам пункт перестанет появляться. Вернуть его назад можно, дописав скобку.


Постоянное присутствие пункта "Копировать как путь" в контекстном меню сильно экономит мне время, и избавляет от необходимости удерживать лишние клавиши на клавиатуре. Надеюсь, совет окажется полезным кому-то ещё.

💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.

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

Автор: Сергей Ткаченко

Сергей Ткаченко создал этот сайт в далёком 2009 году, и с тех пор продолжает над ним работать, публикуя новые материалы о Windows и её приложениях практически каждый день.

Как заставить отображаться команду «Копировать как путь» в контекстном меню Проводника Windows: 10 комментариев

  1. Получается, берем решение времен XP и радуемся жизни? 🙂

  2. Можно и так сказать, конечно, но актуальности своей такое решение пока не потеряло, на мой взгляд. Другое дело Windows 8, где «Копировать как путь» вынесена на ленту, и телодвижений вообще не надо никаких совершать. Но она ещё не вышла.

  3. Я довольно часто использую фичу, но необходимости в ее постоянном присутствии не возникало. Когда нажимаешь ПКМ, вторая рука все равно ничем не занята — может и SHIFT подержать 🙂

  4. Ооочень удобно, пользуюсь ежедневно. Мы этот лисапед уже изобретали с Димой Булановым. Потом ещё на форуме допиливали — http://forum.oszone.net/showthread.php?t=192727

    1. Офигенно же. Вариант с COM-файлом вообще гениальный 🙂

  5. Проделал это в своей ХПшной винде(вариант без внешних утилит) — не пашет, или это только для ПРО версии? У меня нэтбук с хомяком. Командное окошко мелькает, но содержимое буфера не меняется, может быть вариант от Mphs будет работать? — время будет попробую…, хотя изменённая ECHO — это по идее уже внешняя утилита 🙂

    1. В XP нет команды CLIP, насколько я помню. Вероятно, поэтому не работает.
      Попробуйте просто в командной строке выполнить команды, и посмотрите что будет.
      C nircmd вариант 100% сработает

  6. Не работает в XP через clip — прежде чем статьи катать тестировать надо.

    1. Я разве написал, что clip есть в XP?
      Для пользователей XP я как раз описал решение с NirCMD.
      Прежде чем катать ехидные комментарии, разуйте глаза.

Обсуждение закрыто.

css.php