Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: [REQ] Поиск дубликатов и ссылки NTFS 
Author Message
CaptainFlint



PostPosted: Mon Aug 20, 2007 12:41    Post subject: Reply with quote

DrShark wrote:
Попробуй использовать контентный плагин NL_Info. Увы, он не умеет определять, является файл огригиналом или жёсткой ссылкой

Это невозможно принципиально. В файловой системе нигде не хранится информация о связях жёстких ссылок друг с другом. И вообще, для жёстких ссылок нет понятий "оригинал" и "ссылка", все жёсткие ссылки абсолютно равноправны.
Файловая система организована следующим образом (очень упрощённо): есть область на диске, где расположены данные, хранящиеся в файле. Этой области присвоен уникальный идентификатор. Есть файловая таблица, в которой указаны имя файла, некоторые его характеристики, и тот самый идентификатор, указывающий на место хранения данных. Так вот, жёсткие ссылки - это ни что иное как наличие в двух местах ссылок на одну и ту же область данных. Как ты скажешь, какая из этих двух идентичных ссылок "более равная"? Никак. Удалишь любую из них - останется другая, ничем от первой не отличающаяся. Оригинал можно указать только при работе с символичесими ссылками, но не с жёсткими.

DrShark wrote:
Alextp, ещё постом назад ты писал, что сам не знаешь, есть ли такое API. Если бы оно было, думаю, CF реализовал бы его в NL_Info.

Теоретически плагин мог бы выдавать тот самый идентификатор, о котором я написал чуть выше. Только практического смысла в этом не очень много, всё равно без реализации этого реквеста использовать его не получится.
Тотал, в принципе, тоже мог бы получать этот идентификатор и, видя, что два файла (точнее, две файловые записи) имеют одинаковый идентификатор, не сравнивать их содержимое, и без того зная, что оно совпадёт до байта. Осталось найти необходимые функции и упросить Гислера это реализовать...
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
View user's profile Send private message Visit poster's website


Powered by phpBB © 2001, 2005 phpBB Group