Назад | Перейти на главную страницу

Как просмотреть жесткие ссылки файла в Windows?

Я нашел описание жестких ссылок и переходов в Windows, однако я хотел бы знать, из пользовательского интерфейса Windows или командной строки, как я могу просмотреть жесткие ссылки на определенный файл или папку?

В fsutil утилита входит в состав Windows XP и выше. Пример:

fsutil.exe hardlink list C:\Windows\System32\notepad.exe

Примеры результатов (из Windows 7):

\Windows\System32\notepad.exe
\Windows\notepad.exe
\Windows\winsxs\amd64_microsoft-windows-notepadwin_31bf3856ad364e35_6.1.7600.16385_none_9ebebe8614be1470\notepad.exe
\Windows\winsxs\amd64_microsoft-windows-notepad_31bf3856ad364e35_6.1.7600.16385_none_cb0f7f2289b0c21a\notepad.exe

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

Microsoft выпускает также бесплатные findlinks, который гораздо более дружелюбен к синтаксису, дает дополнительную информацию и не требует особых привилегий.

Судите сами, это тот же файл, что и из сообщения John K, проанализированный с помощью findlinks:

findlinks c:\windows\notepad.exe

FindLinks v1.0 - Locate file hard links                                                             
Copyright (C) 2011 Mark Russinovich                                                                 
Sysinternals - www.sysinternals.com                                                                 

c:\windows\notepad.exe                                                                              
        Index:  0x000037A6                                                                          
        Links:  3                                                                                   

Linking files:                                                                                      
c:\Windows\System32\notepad.exe                                                                     
c:\Windows\winsxs\amd64_microsoft-windows-notepadwin_31bf3856ad364e35_6.1.7600.16385_none_9ebebe8614
be1470\notepad.exe                                                                                  
c:\Windows\winsxs\amd64_microsoft-windows-notepad_31bf3856ad364e35_6.1.7600.16385_none_cb0f7f2289b0c
21a\notepad.exe                                                                                     

::

Не совсем то, что вам нужно, но все же может быть полезно для этой цели при умном использовании:
НАЙТИ, автономная утилита командной строки, размещенная на http://www.sentex.net/~mwandel/finddupe/ address, имеет боковую функциональность, которая позволяет рекурсивно перечислить все жесткие ссылки в каталоге с помощью следующего вызова:
finddupe -listlink <directory_of_interest>

Вот пример того, что получается на выходе:

Hardlink group, 2 of 2 hardlinked instances found in search tree:
  ".\1"
  ".\_1"

Number of hardlink groups found: 1

ПРИМЕЧАНИЕ. На SourceForge есть несколько проектов с аналогичным названием, но на данный момент ни на одном из них не размещена указанная выше утилита.

В FindLinks инструмент от Sysinternals должен быть именно тем, что вам нужно.

findlinks C:\Windows\notepad.exe

Попробуйте программу NTFSLinksView - у меня отлично работает в Windows 10, должно работать в Vista и новее.

В ln Утилита CLI от Германа Шинагля должно работать:

ln --list

Также есть расширение оболочки.