Страница 2 из 2

Добавлено: Вс июл 05, 2009 20:43
Batya
DrShark писал(а):А утилита ln, которую я предлагал, для этой задачи разве не подходит?
Я уже писал выше:
Batya писал(а):Основная проблема - как мне загнать в скрипте ... в переменную ... результат сравнения, являются ли файлы жесткими ссылками одного и того же файла?

Добавлено: Сб июл 18, 2009 16:59
Volniy
Я вот подумал, а не может ли часом для решения вышеобсуждаемой задачи пригодиться вот такая утилитка:

Duplicate File Hard Linker (DFHL)

Small command line tool to reduce the size of duplicate files on one partition. Despite all other known tools the files in this implementation are not being listed, archived or removed but going to be hard linked using NTFS hard links. The tool runs in Windows NT 4.0 / 2000 / XP and 2003 Server and requires a NTFS file system to run on.

Use Cases

Код: Выделить всё

If you have a collection of duplicate files in a disk archive
Archive with a lot of similar files which take away a huge amount of space
Надо перевести или и так все понятно? :wink:

Добавлено: Вс июл 19, 2009 07:45
DrShark
Volniy писал(а):Я вот подумал, а не может ли часом для решения вышеобсуждаемой задачи пригодиться вот такая утилитка:

Duplicate File Hard Linker (DFHL)
Спасибо, будем смотреть...

Добавлено: Сб янв 23, 2010 07:14
DrShark
К сожалению, DFHL, судя по её справке, не умеет принимать список файлов в качестве параметров, только папки. Да и вообще не работает она му меня под вистой, хотя может я что-то делаю неправильно...
Но на англ. форуме посоветовали другую утилиту, которая это умеет.
Вот пример кнопки:

Код: Выделить всё

TOTALCMD#BAR#DATA
C:\totalcmd\Utils\lst2str\lst2str.exe
/X:"e:\Programs\finddupe\finddupe.exe" /S:"-hardlink -rdonly" /L:%L /E
C:\totalcmd\TOTALCMD.EXE,3
FindDuppe  - Convert files to NTFS links
C:\totalcmd\Utils\lst2str\

-1
Проблема в том, что длина параметров командной строки ограничена и в результатах поиска за раз обычно удаётся обработать не более 6 файлов.
Нужен скрипт или плагин (думаю, тут подойдёт wcx), который автоматизировал бы эту работу.
Нужно получить из тотала список, подсовывать утилите по очереди группы дубликатов (в результатах они отделены специальной чертой), если файлов в группе слишком много - подсовывать их пока все не станут жёсткими ссылками. И так для каждой группы.
Естественно, если перед запуском автоматизатора юзер выделил только несколько файлов, то обрабатывать их, а не все результаты поиска.

Что не нужно:
- проверка контрольных сумм. Дело в том, что проверка первых байт потенциальных дубликатов выполняется самой утилитой. В качестве защиты от дурака можно ещё перед запуском автоматизации выводить предупреждение, что если при поиске в Тотале не выставлялась галочка "по содержимому", результаты могут быть непредсказуемы. А использование утилиты для превращения в хардлинки системных файлов может привести к печальным последствиям :)