NTLinks + NTLinksMaker: создание и инфо о ссылках NTFS

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Swi писал(а):Привет. В чём отличие относительной симссылки от обычной? Почему при просмотре свойства относительной виден корневой диск? Как изменить диски на которые ссылаются симссылки?
Всё же дам пояснения по основному вопросу, вдруг кому будет интересно.

Относительная символьная ссылка от абсолютной отличается тем, что хранит относительный путь к целевому объекту, благодаря чему ссылка остаётся актуальной при перемещении/переименовании содержащего ссылку и целевой объект каталога. Относительный путь может быть либо от папки, содержащей ссылку (.\relpath\to\target или просто relpath\to\target), либо от корня тома, содержащего ссылку (\relpath\to\target). Буквы диска в относительном пути не может быть в принципе.

В свойствах папки-ссылки система всегда показывает абсолютный путь к целевому объекту. Причём, не всегда правильно (не знаю, как в 10-ке, но в 7-ке для ссылки относительно корня там отображается путь к соседней папке, но файловая система обрабатывает его корректно). Записанный в ссылке относительный путь можно увидеть в поле RP_Target плагина NTLinks.
Аватара пользователя
Plumber
Сообщения: 121
Зарегистрирован: Пн окт 27, 2008 19:43

Сообщение Plumber »

MVV
Я дико извиняюсь за возможно ламерские вопросы, но всё же:
1. Буквально на днях на форуме у Гислера случайно обнаружил существование NTLinksMaker версии 1.4.2.436 от 25.04.2020, о которой здесь почему-то нет никакой информации :? хотя в ридми к утилите ссылка именно на эту тему.
2. Утилита существует в двух разрядностях 32-bit и 64-bit, хотелось бы узнать о нюансах использования х32-версии в 64-битной системе.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Plumber
А это что?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Plumber
Сообщения: 121
Зарегистрирован: Пн окт 27, 2008 19:43

Сообщение Plumber »

1. Просто захотелось узнать у уважаемого автора (он конечно же никому ничем не обязан, и так огромное ему спасибо за его труд) где можно в дальнейшем почерпнуть информацию о новых версиях сабжа.
2. Насколько корректно использование NTLinksMaker 32-bit из под TCx64 (вопрос образовался после просмотра одной из сборок Total Commander)
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Plumber
Уважаемый автор, конечно, сам за себя ответит, но вообще-то до сего момента информацию без проблем можно было получить в текущей теме. А с корректностью использования, ИМХО, проблем быть не должно, хотя я, например, использую (не только здесь) версии программ, адекватные битности системы.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Plumber
В комбинированном ТС у меня NTLinksMaker 32-bit на все разрядности.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Обычно я сначала выкладываю новые версии на ядиск и пишу в теме, потом через некоторое время, если не всплывёт ничего серьезного, обновляю на wincmd. Но иногда в силу разных обстоятельств могу забывать об этом.

Единственно возможные проблемы от использования 32-битной версии в 64-битной винде могут быть вызваны в случаях, касающихся перенаправляемых системой папок (%SystemRoot%\System32 для 32-битных программ в 64-битной системе перенаправляется в %SystemRoot%\SysWOW64). Если точнее, проблемы возможны при несовпадении разрядностей тотала и утилиты, т.к. если оба 32-битные, то по идее ожидания совпадут с результатом. Но мне ни разу не приходилось создавать ссылки в системных папках, за единственным исключением: я обычно делаю себе ссылку %SystemRoot%\System64 на %SystemRoot%\System32, что позволяет мне через эту ссылку видеть истинное содержимое папки %SystemRoot%\System32 независимо от разрядности тотала (редирекция не работает для целевых путей ссылок).
Аватара пользователя
Чиполлино
Сообщения: 62
Зарегистрирован: Пт дек 22, 2017 23:44
Откуда: Орёл

Сим Линк с относительным путём.

Сообщение Чиполлино »

Возможно ли создать c помощью NTLinksMaker, Сим Линк-и с относительными путями, для выделенных файлов каталога E:\R\1\ в каталог E:\R\2\ с нижеприведенными условиями?
- Начало пути (верхний уровень) - каталогR\.
- Возможность переноса каталога R\, не меняя его структуры, на любой диск, а так же на другой компьютер. При этом линки не должны превращаться в обычные файлы, как это происходит у меня.
Если это не возможно в NTLinksMaker, то какими прогами. и как можно проделать эту операцию в Windows 10 x64?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

NTLinksMaker умеет создавать относительные симлинки. Папка, относительно которой определяется относительный путь - это всегда папка, в которой создаётся ссылка, это закон. Т.е. у ссылки в папке E:\R\2 на файл в папке E:\R\1 относительный путь будет вида ..\1\file.ext.

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

Возможность переноса с сохранением ссылок на другой компьютер сомнительна. Здесь главный вопрос - по какому протоколу будет выполняться доступ к файлам, потому что если читать каталог R с другой машины, необходима поддержка чтения атрибутов симлинков, а если воссоздавать каталог R на удалённой машине - поддержка создания симлинков. По моему опыту, даже при обычном сетевом доступе по протоколу SMB такая поддержка ограничена, не говоря уже об экзотических протоколах. Например, создать вполне корректную относительную ссылку в сетевой папке у меня получилось (от имени администратора домена, ну или можно от локального администратора удалённой машины, если на ней выключить обрезание прав при сетевом доступе). Её свойства читаются, но зайти в неё нельзя (тотал молча не заходит, Проводник пишет, что такой тип ссылок отключён). Погуглил, можно управлять этим через fsutil, например, команда fsutil behavior query SymlinkEvaluation отображает текущие настройки, а команда fsutil behavior set SymlinkEvaluation R2R:1 включает поддержку удалённых ссылок на удалённые папки.

Какие программы позволяют корректно дублировать иерархии каталогов с сохранением относительных симлинков, я не знаю.
Аватара пользователя
Чиполлино
Сообщения: 62
Зарегистрирован: Пт дек 22, 2017 23:44
Откуда: Орёл

Сообщение Чиполлино »

MVV писал(а):Т.е. у ссылки в папке E:\R\2 на файл в папке E:\R\1 относительный путь будет вида ..\1\file.ext.
Следует ли из этого, что для перемещения на другой диск данного компьютера, достаточно переместить папку 1 и 2 в любое место? Да же в корень любого диска? (хотя в корень переносить я не планирую). Или папки 1 и 2, после перемещения, обязательно должны находиться в общем каталоге, имя которого может быть любым?
Инструментом переноса будет проводник Windows 10 x64.
При невозможности его использования, можно с помощью ТС. Либо посоветуйте другой, но без лишних костылей. Инструмент, работающий по принципу "Копировать - Вставить", или "Вырезать - Вставить". Если нужны дополнительные настройки, пожалуйста подскажите какие.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Чиполлино
Что из этого следует, проще всего попробовать самостоятельно. Продолжать выяснение этих проблем в данной теме после ответа автора (включая последнее "не знаю" про инструменты дублирования ссылок) смысла не вижу. Утилита сделала своё дело, создав ссылки, выполнение дальнейших задач от неё не зависит. Говоря попросту, готовых решений на данный момент нет — ни с костылями, ни без.
Есть тема в "Автоматизации", продолжайте обсуждение в ней.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Пожалуй, добавлю небольшое уточнение, всё ещё имеющее отношение к утилите.

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

Подпапки папки R после создания ссылок нельзя разносить по разным папкам или переименовывать папку, содержащую целевые файлы, т.к. это приведёт к инвалидации ссылок. Собственно, общая логика такова: если на файл/папку есть абсолютная или относительная ссылка, нельзя менять его путь/имя, указанные в ссылке (в этом относительные ссылки менее строги, т.к. позволяют менять часть пути за пределами относительного пути, т.е. переносить содержащую объект и ссылку папку). При этом саму абсолютную ссылку можно переносить куда угодно, а относительную - так, чтобы относительный путь оставался валидным (например, можно переименовать относительную ссылку или содержащую её папку, если ссылка начинается с "..").
Аватара пользователя
Чиполлино
Сообщения: 62
Зарегистрирован: Пт дек 22, 2017 23:44
Откуда: Орёл

Сообщение Чиполлино »

MVV писал(а): При этом абсолютную ссылку можно переносить куда угодно,
КАК? Ведь для нее прописан путь относительно какого то диска?
Как она сможет работать из папки 1, если абсолютный путь требует ее нахождения в папке 2?
или я вообще ничего не понимаю.
Ответьте мне на вопрос пожалуйста.
На дисках С и D находятся каталог R, с абсолютно одинаковой структурой и содержимым. Внутри каждого из каталогов R, находятся подкаталоги 1 и 2.
В каждом из подкаталогов 1 находится всего один файл. И он абсолютно одинаков как на диске С так и на диске D.
Для этих двух ФАЙЛОВ подкаталогов 1, созданы относительные ссылки в соседние подкаталоги 2.
Чем отличаются эти ссылки? В чем их разница? Они абсолютно идентичны. Результат сравнения не выявил различий.
Тогда почему они не взаимозаменяемы -я не могу понять.? Ведь их принадлежность какому либо диску нигде не прописана? Ну по логике, если рядом с папкой 2, в которой находится ссылка, находится папка 1, в которой лежит файл-источник, эта связка должна работать в любом месте.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Чиполлино
Абсолютный путь требует нахождения по указанному адресу исходного объекта, а не ссылки на него. Разница ссылок в том, что каждая реально работоспособна только на своём диске. Сравнением вы ничего интересного тут не увидите.
И вообще следовало бы знакомиться с теорией по другим ресурсам (их предостаточно), чтобы хотя бы элементарно разбираться в предмете обсуждения: здесь полный ликбез по этим вопросам никто устраивать не обязан, а в данной теме продолжение всего этого уже выглядит прямым оффтопом. Если интересно, почитайте на предыдущих страницах темы, что раньше пояснялось (к примеру, это). С созданием ссылок действительно могут быть сложные и неочевидные моменты, но в них хорошо бы разбираться при наличии какой-то базовой подготовки, а не с нуля. Что происходит в последнем случае, мы тут уже видели хотя бы в этой теме. А ещё в справочнике по ключам про ключ CopyLinks почитать советую (в т.ч. про значение 2 и — особенно — про копирование в TC симлинков на файлы в виде самих файлов). Скорее всего, вы просто зря тратите своё и чужое время: всё равно распорядиться этими ссылками так, как вы собирались, не удастся (по крайней мере, в Total Commander, а внешних альтернатив никто пока предложить не смог).
Обсуждение практически одного и того же вопроса в двух темах пора заканчивать (тем более, что ваша исходная задача шире простого создания относительных ссылок на файлы — см. пояснения здесь и вторую тему). А ваши не лезущие ни в какие пристойные размерные рамки (и к тому же совершенно ненужные) "иллюстрации" результатов сравнения удалены с замечанием за грубое нарушение правил форума.
Даже самая богатая фантазия
Не представит себе наши безобразия.
HankHank
Сообщения: 39
Зарегистрирован: Чт апр 15, 2010 16:35

Сообщение HankHank »

С новогодними праздниками!

Установил плагин NTLinks в TC 10.
В Readme.txt для меня недостаточно инфо по дополнительной настройке.
Кроме "Ссылка" в колонке панели "Размер", ничего более не видно.

Ткните носом, где это обсуждалось на 39-ти страницах ветки или на др. ресурсах, или подскажите, что и где дополнительно настраивать?

Спасибо.
Ответить