Работаем с жёсткими и символическими ссылками в Windows (часть 2)

— Это продолжение статьи. Начало читайте здесь.

Рассмотренный в прошлой заметке набор расширений для «Проводника» ограничен возможностями старых версий Windows и NTFS и позволяет создавать жёсткие ссылки на файлы и мягкие — на каталоги. В программе Link Shell Extension этой проблемы нет, но её установка и использование немного сложнее.

Как и в предыдущем случае, продукт поставляется бесплатно для всех актуальных версий Windows, но пользователю придётся самостоятельно инсталлировать необходимые библиотеки Microsoft Visual C++, скачав с сайта файл вида «vcredist_платформа.exe» и запустив его с правами администратора. Далее устанавливается сама программа для соответствующей платформы. Кроме того, рекомендуется использовать некий драйвер поддержки символических ссылок в Windows XP — он доступен для процессорных архитектур x86 и x64, устанавливается с помощью утилиты senable.exe с параметром install из командной строки (предварительно нужно распаковать архив) и позволяет делать символические ссылки не только на каталоги, но и на файлы.

Утилита настройки

При инсталляции Link Shell Extension можно выбрать русский язык, но контекстные меню «Проводника» локализованы не полностью, а утилита настройки и вовсе не переведена на русский язык. Использование расширения напоминает обычное копирование и вставку: из контекстного меню работы с файлом или каталогом нужно выбрать пункт «Запомнить источник», а затем «Поместить как». Здесь же можно отменить действие.

Расширение позволяет создавать ссылки перетаскиванием объекта с зажатой правой кнопкой мыши (когда пользователь её отпускает, появляется контекстное меню), а также добавляет новую закладку в окно просмотра свойств файла и выделяет ссылки специальным значком, добавляющимся к стандартной иконке.

Дополнительная закладка в свойствах файла

К сожалению, в Windows нельзя создавать жёсткие ссылки на каталоги, но имеется похожий объект под названием Junction (связь). Он создается и используется почти аналогично и помечается специальным значком с несколькими звеньями цепи. Единственное важное отличие от хардлинка: если удалить исходную папку, то связь будет ссылаться на недоступное место. Источник связи, а также симлинка на каталог можно заменить перетаскиванием (с нажатой правой кнопкой мыши) или через контекстное меню, выбрав предварительно новый источник.

Замена источника символической ссылки

Но самые интересные возможности касаются копирования каталогов. Можно, к примеру, клонировать каталог таким образом, что подкаталоги копии останутся подкаталогами, а файлы будут заменены на мягкие или жёсткие ссылки. Решены здесь и проблемы копирования содержащих ссылки каталогов — пользователь может сохранять их логику различными способами. Есть в наборе расширений монтирование разделов в каталог (в качестве источника нужно выбрать раздел) и многое другое — полное описание не уместится в короткой заметке. Подробная информация обо всех функциях Link Shell Extensions доступна на сайте проекта.

Проект активно развивается, и в нём находят недочёты. Например, выскакивающий диалог контроля учётных записей пользователей при выполнении операций с символическими ссылками и связями в Windows 7 и Vista. Могут быть проблемы со съёмными носителями и бог знает что ещё. Важно понимать, что это программное обеспечение вы используете на свой страх и риск, и устанавливать его на рабочую машину неопытным пользователям категорически не рекомендуется.

Что будем искать? Например,ChatGPT

Мы в социальных сетях