Главная > Без вредных советов, Решение проблем, Уголок гика > Как заставить отображаться команду «Копировать как путь» в контекстном меню Проводника Windows

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

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

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

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

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

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

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

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

Создайте в разделе

HKEY_CLASSES_ROOT\AllFilesystemObjects\
раздел shell, в нем подраздел CopyAsPath, а в нем - подраздел Command.

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

У нас получился раздел

 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. Скачайте NirCMD и распакуйте скачанный архив папку, допустим, в 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}
, а сам пункт перестанет появляться. Вернуть его назад можно, дописав скобку.


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

Winreview.ru можно найти в Вконтакте, Facebook и Twitter. Присоединяйтесь!

Комментарии

  1. Vadim Sterkin

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

  2. Сергей Ткаченко

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

  3. Vadim Sterkin

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

  4. Mphs

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

  5. Сергей Ткаченко

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

  6. Mphs

    @Сергей Ткаченко

    Ага, офигенно! А как работает COM - я хз, это выше моего понимания ) Из серии "написали каких-то закорючек и все с них прутся" )

  7. Freddy May

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

  8. Сергей Ткаченко

    @Freddy May
    В XP нет команды CLIP, насколько я помню. Вероятно, поэтому не работает.

    Попробуйте просто в командной строке выполнить команды, и посмотрите что будет.

    C nircmd вариант 100% сработает

  9. Валерий

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

  10. Сергей Ткаченко

    @Валерий
    Я разве написал, что clip есть в XP?

    Для пользователей XP я как раз описал решение с NirCMD.

    Прежде чем катать ехидные комментарии, разуйте глаза.

Написать комментарий