Como visualizo os links físicos de um arquivo no Windows?

34

Encontrei uma descrição de links físicos e junções no Windows, mas gostaria de saber, na interface do usuário ou no prompt de comando do Windows, como posso visualizar os links físicos de um arquivo ou pasta específico?

John K
fonte
Exatamente o que você quer dizer com "visualizar" neste contexto?
John Gardeniers

Respostas:

44

O fsutilutilitário incluído no Windows XP e superior. Exemplo:

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

Resultados de exemplo (do 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
fonte
Existe também alguma maneira de listar links flexíveis e junções para um arquivo?
Massimo
Parece que no Server 2003 o fsutil não suporta o hardlink listsubcomando. Somente hardlink createé mostrado por fsutil hardlink.
BamBams
5

fsutilrequer privilégios elevados do sistema. Se você só precisa ler, e não criar, links, isso é muito inconveniente.

A Microsoft também lança os findlinks gratuitos , que são muito mais amigáveis ​​à sintaxe, fornecem detalhes adicionais e não exigem privilégios especiais.

Julgue a si mesmo o mesmo arquivo, como no post de John K, analisado com 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
fonte
2

Não é diretamente o que você precisa, mas ainda pode ser útil para esse objetivo quando usado de maneira inteligente:
FINDDUPE , um utilitário de linha de comando independente hospedado no endereço http://www.sentex.net/~mwandel/finddupe/ , possui funcionalidade lateral, que permite listar todos os hardlinks em um diretório recursivamente com a seguinte chamada:
finddupe -listlink <directory_of_interest>

Aqui está um exemplo do que se obtém como saída:

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

Number of hardlink groups found: 1

NOTA: Há vários projetos com o mesmo nome no SourceForge, mas nada hospeda o utilitário acima, por enquanto.

Arseniy
fonte
1

A ferramenta FindLinks da Sysinternals deve ser exatamente o que você precisa.

findlinks C:\Windows\notepad.exe
Massimo
fonte
0

Experimente o programa NTFSLinksView - funciona bem para mim no Windows 10, deve funcionar no Vista e posterior.

Aidan
fonte
0

O lnutilitário CLI de Hermann Schinagl deve funcionar:

ln --list

Há também uma extensão de shell .

drcursor
fonte
Thx para o link para esta ferramenta de linha de comando: D
Radon8472