Добавление команд в "Проводник Windows"

Источник: oszone
Дмитрий Буланов

Каждый пользователь операционных систем Windows хотя бы один раз в своей жизни открывал "Проводник Windows" и практически каждому пользователю не хватает той или иной функции, хотелось бы перенести некоторые элементы на панелях проводника и т.д. Буквально несколько дней назад меня попросили помочь в написании нескольких твиков реестра, позволяющих переместить некоторые элементы в области переходов, а также добавить новый функционал в контекстное меню проводника Windows. В процессе работы я реализовал четыре твика реестра, о которых вы узнаете далее в этой статье.

Перемещение элементов области переходов проводника Windows

Все мы прекрасно знаем, что с появлением операционной системы Windows 7 область переходов "Проводника Windows" немного преобразилась по сравнению с ее предшественницей - операционной системой Windows Vista. Сейчас, в области переходов, помимо элементов "Избранного","Компьютера" и "Сети", в данной области вы также можете обнаружить такие элементы, как "Библиотеки" и "Домашняя группа". Причем, домашняя группа отображается только в том случае, если для сетевого адаптера выбрано сетевое расположение "Домашняя сеть". То есть, область переходов проводника в операционной системе Windows 7 выглядит следующим образом:

*

Рис. 1. Область переходов по умолчанию в проводнике Windows

В данном случае, основной задачей является перемещение элемента "Компьютер" под элемент "Избранное". Стоит отметить, что в операционной системе нет возможности перемещения данного элемента средствами графического интерфейса. Соответственно, для того чтобы переместить данный элемент следует воспользоваться твиком реестра. Раздел, отвечающий за отображение данных элементов области переходов можно отследить при помощи утилиты Марка Русиновича "Process Monitor". Находим, что в редакторе реестра за большую часть элементов, которые расположены в данной области, отвечает следующий раздел: HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}. В данном разделе реестра нас интересует один параметр - SortOrderIndex. Для того чтобы можно было внести изменения в данный параметр необходимо дать NTFS разрешения на изменение параметров в данном разделе реестра. Для этого в контекстном меню раздела выбираем команду"Разрешения" и в отобразившемся диалоговом окне "Разрешения для группы" нажимаем на кнопку "Дополнительно". В диалоговом окне"Дополнительные параметры безопасности" переходим на вкладку "Владелец" и указываем свою административную учетную запись в качестве владельца. После этого, в предыдущем диалоговом окне устанавливаем флажок для предоставления полного доступа своей учетной записи.

Теперь нужно изменить значение DWORD-параметра "SortOrderIndex". Значение по умолчанию равняется 42. В этом случае, элементы на области переходов отображаются следующим образом: избранное, библиотеки, компьютер, сеть. Если вы измените значение данного параметра на 58, в области переходов элементы будут отображаться в следующем порядке: избранное, компьютер, библиотеки, сеть. Теперь, для того чтобы переместить элемент библиотек под сеть, нам нужно изменить значение текущего параметра на 60. К сожалению, данный твик будет работать только в том случае, если у вас выбрано сетевое расположение "Сеть предприятия" или "Общественная сеть", следовательно, если у вас на области переходов есть элемент "Домашняя сеть", то в случае применения данного твика элемент "Компьютер" будет расположен под домашней сетью. Для того чтобы переместить компьютер над домашнею сетью, вам нужно перейти в раздел {B4FB3F98-C1EA-428d-A78A-D1F5659CBA93} и указать для DWORD-параметра "SortOrderIndex" значение 61. В итоге у вас должен получиться следующий твик реестра:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
"SortOrderIndex"=dword:00000060
[HKEY_CLASSES_ROOT\CLSID\{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}]
"SortOrderIndex"=dword:00000061

Результат вы можете посмотреть на следующей иллюстрации:

*

Рис. 2. Измененная область переходов проводника Windows

Копирование содержимого текстового файла в буфер обмена

Данный твик будет полезен тем, кто хочет иметь возможность копирования содержимого текстового файла в буфер обмена без открытия последнего. В итоге получится следующее: в проводнике Windows выделяем текстовый файл, содержимое которого нужно скопировать, скажем, во второй файл, но вы по какой-либо причине не хотите его открывать, нажимаем на нем правой кнопкой мыши и из отобразившегося контекстного меню выбираем соответствующую команду. Все содержимое непременно будет скопировано в буфер обмена. Для реализации данного твика, перейдите в раздел HKEY_CLASSES_ROOT\AllFilesystemObjects\shell, где нужно будет создать еще один раздел, например, Clipboard. Укажите такое значение параметра по умолчанию, которое вы хотите дать названию данной команды в контекстном меню. Затем внутри данного раздела создайте вложенный раздел command, где нужно будет указать команду, которая будет выполняться при выборе данной опции из контекстного меню. Получается следующий твик реестра:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell]

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard]
@="Копировать содержимое файла"

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard\command]
@="cmd.exe /c type \"%1\" /clip.exe"

Копируем список вложенных папок и файлов в буфер обмена

При помощи следующего твика реестра вы можете скопировать в буфер обмена список всех вложенных в выбранную вами папку папок и файлов. Данный твик будет полезен в случае выполнения инвентаризации своих файлов и папок. Твик по своей структуре очень похож на предыдущий, но его основное отличие в том, что исполнительную команду следует добавить не в раздел AllFileSystemObjects, а в разделы Folder и Directory\Background для того, чтобы вы могли использовать данную команду как в проводнике Windows, так и на рабочем столе. Листинг данного твика приведен ниже:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\copylist]
@="Копировать список вложенных файлов"

[HKEY_CLASSES_ROOT\Directory\Background\shell\copylist\command]
@="cmd /c \"dir /b /a:-d /o:n / clip\""

[HKEY_CLASSES_ROOT\Folder\shell\copylist]
@="Копировать список вложенных файлов"

[HKEY_CLASSES_ROOT\Folder\shell\copylist\command]
@="cmd /c dir \"%1\" /b /a:-d /o:n / clip"

Копируем путь к выбранной папке в буфер обмена

Большинство пользователей знают о такой хитрости, что если зажать кнопку SHIFT и вызвать контекстное меню, скажем, для выбранной в проводнике папки, то отобразится расширенное контекстное меню, которое предоставляет больший набор команд, нежели при вызове обычного контекстного меню. В таком расширенном контекстном меню есть опция "Копировать как путь", которая позволяет скопировать в буфер обмена путь к выбранной вами папке. Следующей моей задачей было написание такого твика реестра, чтобы с его помощью можно было бы скопировать путь к выбранной вами папке в буфер обмена из обыкновенного контекстного меню. Опять же, твик чем-то похож на второй, описанный в данной статье, а именно "Копировать содержимое файла" тем, что в этом случае нам также нужно создать новый раздел в разделеAllFilesystemObjects. Мною был написан следующий твик реестра:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\ClipPath]
@="Копировать как путь"

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\ClipPath\command]
@="cmd.exe /c echo %1 / clip.exe"

Но такой твик имеет один недостаток - в буфер обмена, помимо пути копируется еще перевод каретки, что в некоторых случаях крайне неудобно. Исправление данной проблемы было предложено пользователем Iska компьютерного форума OSZone.net. Для этого в предложенном ранее твике реестра нужно изменить значение по умолчанию раздела HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\ClipPath\command на @="cmd.exe /c \"<nul set /p sTemp=\"%1\"/clip.exe\"". В итоге получаем следующий твик реестра:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard]
@="Копировать как путь"

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard\command]
@="cmd.exe /c \"<nul set /p sTemp=\"%1\"/clip.exe\""


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


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=29980