web-dev-qa-db-ja.com

Windowsでファイルのハードリンクを表示するにはどうすればよいですか?

Windowsで ハードリンクとジャンクションの説明 を見つけましたが、Windows UIまたはコマンドプロンプトから、特定のファイルまたはフォルダーのハードリンクを表示する方法を知りたいです。 ?

35
John K

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
45
John K

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                                                                                     

::

5
antonio

直接必要なものではありませんが、巧妙に使用すると、そのような目標には役立ちます。
[〜#〜] finddupe [〜#〜]、-でホストされるスタンドアロンのコマンドラインユーティリティ http://www.sentex.net/~mwandel/finddupe/ アドレスには、次の呼び出しでディレクトリ内のすべてのハードリンクを再帰的にリストできるサイド機能があります。
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には同様の名前のプロジェクトが多数ありますが、現時点では実際には上記のユーティリティをホストするものはありません。

2
Arseniy

Sysinternalsの FindLinks ツールは、まさに必要なものです。

findlinks C:\Windows\notepad.exe
1
Massimo

Hermann Schinaglによる ln CLIユーティリティ は機能するはずです。

ln --list

シェル拡張 もあります。

0
drcursor

プログラムを試してください NTFSLinksView -Windows 10で私にとってはうまく機能し、Vista以降で機能するはずです。

0
Aidan