Как заставить отображаться команду «Копировать как путь» в контекстном меню Проводника Windows
Не знаю, как уважаемый читатель, а я регулярно пользуюсь командой "Копировать как путь". Да и вообще, для меня - это одна из самых полезных команд, проявившихся в контекстном меню Проводника со времен Vista. И меня откровенно напрягает, что для её вызова я должен удерживать кнопку SHIFT. Ну а в Windows XP, коей в рядах нашего брата остается ещё совсем немало, вообще такой команды контекстного меню нет.
Сегодня мы будем повышать уровень комфорта экспулатации Проводника, и добавим пресловутую команду, дабы не жать лишних кнопок.
Функциональность отображения пункта меню "Копировать как путь" по клику с SHIFT вшита глубоко в недра системы, и никакими параметрами реестра отображаться в обычном меню его не заставить (это ActiveX-элемент , его GUID={f3d06e7c-1e45-4a26-847e-f9fcdee59be0}, и он просто их не имеет).
Я нашел для себя два способа решения проблемы.
Чтобы скопировать путь к текущей папке, нужно прописать в контекстное меню папок/файлов какое-либо приложение, которое получит в качестве параметра путь к выделенному объекту, и скопирует его в буфер обмена. Можно использовать встроенные средства Windows, а можно воспользоваться сторонними приложениями.
Я рассмотрю оба способа.
Общие действия для обоих способов
Создайте в разделе
- Код: Выделить всё
HKEY_CLASSES_ROOT\AllFilesystemObjects\
>Для справки: Этот раздел служит общей точкой соприкосновения всех реальных (физических) объектов файловой системы. Грубо говоря, можно сказать, что он является общим и для папок, и для файлов. Команды, определенные в нем, отображаются для всех "настоящих" элементов в Проводнике. Поэтому команду копирования пцти целесообразно определять именно здесь.
У нас получился раздел
- Код: Выделить всё
HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\CopyAsPath
Здесь параметру по умолчанию раздела задайте нужное текстовое описание, именно оно будет отображаться в контекстном меню Проводника. "Копировать как путь" вполне подойдет.
Ну а теперь - самое главное.
Команда "Копировать как путь": обходимся средствами системы
В параметре по умолчанию в разделе HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\CopyAsPath\Command пропишите это:
- Код: Выделить всё
cmd /c "echo %1 | clip"
Команда echo выведет путь к объекту, для которого была вызван наш пункт контекстного меню, а команда clip поместит вывод echo в буфер обмена. Всё просто, быстро, и никаком магии.
Минус такого решения - появляющееся на доли секунды окно командной строки. Это мелочь, но если она вас раздражает, есть второй вариант.
Добавляем "Копировать путь" при помощи Nircmd
Этот вариант не выводит никаких окон, но требует наличия у вас на компьютере утилиты NirCMD. Практическую ценность этой утилиты трудно недооценить, я неоднократно про неё писал. Итак, в случае с использованием утилиты NirCMD, необходимо выполнить следующие шаги.
1. Скачайте и распакуйте скачанный архив папку, допустим, в C:\cmdtools
2. В реестре, в разделе
- Код: Выделить всё
HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\CopyAsPath\Command
- Код: Выделить всё
c:\cmdtools\nircmd.exe clipboard set "%1"
Эффект тот же самый, как в первом случае, но без каких-либо окон вообще. Какой бы способ вы бы не предпочли, команда "Копировать как путь" всегда будет присутствовать в контекстном меню, без нажатия кнопки SHIFT:
Cуществуют всевозможные расширения оболочки (shell extensions), реализующие схожую функциональность. Я предпочитаю их не использовать, так как использование подобных расширений может сказаться на стабильности Проводника и на скорости его работы. Варианты с вызовом внешних утилит мне нравятся больше, и они всегда менее проблемны.
Теперь стандартный пункт меню "Копировать как путь" мне больше не нужен. Чтобы отключить его, можно стереть фигурную скобку из параметра по умолчанию в разделе
- Код: Выделить всё
HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\CopyAsPathMenu
Его значение примет вид
- Код: Выделить всё
f3d06e7c-1e45-4a26-847e-f9fcdee59be0}
Постоянное присутствие пункта "Копировать как путь" в контекстном меню сильно экономит мне время, и избавляет от необходимости удерживать лишние клавиши на клавиатуре. Надеюсь, совет окажется полезным кому-то ещё.





Свежие комментарии