28

Я создал несколько жестких ссылок в моей файловой системе Windows 7, используя mklink. Это было некоторое время назад, и я не могу точно вспомнить, где и какие файлы. Когда я использую Проводник, все файлы выглядят одинаково. Когда я использую командную строку и набираю "dir", они все выглядят одинаково.

Как мне найти жесткие ссылки? Или как определить, является ли конкретный файл жесткой ссылкой?

5 ответов5

29

Все файлы являются жесткими ссылками с количеством ссылок не менее 1.

Вот почему файлы выглядят одинаково. Они одинаковы. То, что вы, похоже, ищете, - это файлы, в которых имеется более одной ссылки на файл. Очень мало, что отличает файл с числом ссылок больше единицы от файла с числом ссылок один… кроме количества ссылок (и некоторого странного поведения в отношении атрибутов и отметок даты).

И это очень легко проверить с помощью команды find , входящей в состав служебного инструментария Microsoft SFUA , который работает в Подсистеме для приложений на основе Unix:

find . -links +1
19

В Windows 7 используйте команду:

fsutil hardlink list MyFileName.txt

В нем перечислены все жесткие ссылки на файл с именем MyFileName.txt .

9

К сожалению, ОС не может найти все ваши жесткие ссылки, не просматривая каждый файл.

Для Explorer вы можете загрузить очень удобное расширение Link Shell, которое накладывает на файлы жесткие ссылки красной стрелкой, похожей на ярлык.

Это также делает довольно легким создание жестких ссылок, символических ссылок и переходов через контекстное меню Проводника.

Бонус болтовни:

Технически все файлы являются жесткими ссылками. Таким образом, вы действительно ищете файлы с более чем одной жесткой ссылкой.

3

 Простой способ для одноразовых проверок: меняются ли атрибуты файла вместе?

Если вы хотите проверить, являются ли файлы A и B жесткими ссылками на один и тот же контент, и вы не хотите ничего устанавливать или запускать, откройте окно свойств файла A и переключите, например, его атрибут « Только для чтения» . Теперь откройте окно свойств файла B чтобы увидеть, произошло ли здесь изменение атрибута (файла A). Если да, то ответ положительный.

Почему это работает? Потому что связанные жесткие ссылки имеют одинаковый набор атрибутов файла и отметок времени.

Это сказало, что тот же самый тест может быть сделан с отметками времени файлов, но они не могут быть изменены так же легко как флаг Только для чтения , чтобы выполнить проверку.

2

используйте finddupe:

finddupe -listlink c:\photos

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .