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

34

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

Джон К
источник
Что именно вы подразумеваете под «представлением» в этом контексте?
Джон Гарденье

Ответы:

44

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
Джон К
источник
Есть ли способ перечислить программные ссылки и соединения для файла?
Массимо
Похоже, на Server 2003 fsutil не поддерживает hardlink listподкоманду. Только hardlink createпоказано fsutil hardlink.
Bambams
5

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

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

Судите сами тот же файл, что и из поста Джона К., проанализированный с помощью 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                                                                                     

::

антонио
источник
2

Не совсем то, что вам нужно, но все же может быть полезно для такой цели при
умном использовании: FINDDUPE , отдельная утилита командной строки, размещенная по адресу 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, но на самом деле ни одна из них не содержит вышеуказанную утилиту.

Арсений
источник
1

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

findlinks C:\Windows\notepad.exe
Massimo
источник
0

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

Айдан
источник