Jak wyświetlić twarde łącza pliku w systemie Windows?

34

Znalazłem opis twardych dowiązań i skrzyżowań w systemie Windows, jednak chciałbym wiedzieć z interfejsu użytkownika Windows lub wiersza poleceń, w jaki sposób mogę wyświetlić twarde dowiązania określonego pliku lub folderu?

John K.
źródło
Dokładnie co rozumiesz przez „widok” w tym kontekście?
John Gardeniers,

Odpowiedzi:

44

fsutilNarzędzie dostępne w systemie Windows XP i nowszych. Przykład:

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

Przykładowe wyniki (z systemu 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
John K.
źródło
Czy jest też jakiś sposób na wyświetlenie miękkich linków i skrzyżowań dla pliku?
Massimo,
Wygląda na to, że na serwerze 2003 fsutil nie obsługuje hardlink listpodkomendy. hardlink createPokazane jest tylko przez fsutil hardlink.
bambams
5

fsutilwymaga podwyższonych uprawnień systemowych. Jeśli potrzebujesz tylko czytać, a nie tworzyć, linki to jest bardzo niewygodne.

Microsoft wypuszcza również bezpłatne linki , które są znacznie bardziej przyjazne dla składni, zawierają dodatkowe szczegóły i nie wymagają specjalnych uprawnień.

Oceniaj sam ten sam plik, jak na podstawie postu Johna K, analizowany za pomocą 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                                                                                     

::

Antonio
źródło
2

Nie jest to dokładnie to, czego potrzebujesz, ale może być nadal przydatne do osiągnięcia tego celu, gdy jest używane sprytnie:
FINDDUPE , samodzielne narzędzie wiersza polecenia hostowane pod adresem http://www.sentex.net/~mwandel/finddupe/ , ma funkcję boczną, która umożliwia wyświetlanie wszystkie dowiązania twarde w katalogu rekurencyjnie za pomocą następującego wywołania:
finddupe -listlink <directory_of_interest>

Oto przykład tego, co otrzymuje się jako wynik:

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

Number of hardlink groups found: 1

UWAGA: Istnieje wiele projektów o podobnej nazwie na SourceForge, ale tak naprawdę nic nie obsługuje powyższego narzędzia jak na razie.

Arsenij
źródło
1

FindLinks narzędzie z Sysinternals powinny być dokładnie to, czego potrzebują.

findlinks C:\Windows\notepad.exe
Massimo
źródło
0

Wypróbuj program NTFSLinksView - działa dobrze dla mnie w systemie Windows 10, powinien działać w systemie Vista i nowszych.

Aidan
źródło
0

Narzędzie lnCLI Hermanna Schinagl powinno działać:

ln --list

Istnieje również rozszerzenie powłoki .

drcursor
źródło
Dziękujemy za link do tego narzędzia wiersza poleceń: D
Radon8472