ショートカット(ソフトリンク)

ファイル・フォルダのリンクとしてWindowsでは一般的な形式。
手軽な反面、問題も多い(特にプログラマにとっては)。

  • ファイルの中にリンク先を記述したもの。
  • ファイルでもフォルダでも可。
  • オリジナルのファイルが削除されると無効になる。
  • オリジナルのリネーム・移動されると無効になる。
    (ただしDistributed Link Tracking サービスが有効であれば追跡されるので有効なまま)
  • ショートカットが削除されてもリンク先に影響はない。
  • プログラムからアクセスする場合、ちょっと面倒。
  • 拡張子はlnkでなければならない。

ハードリンク

ファイルに別名を付けたもの。あまり使われていない印象。

mklink /H リンク名 オリジナル名
  • 参照カウントを持つ。
  • 対象はファイルのみ。
  • 異なるボリューム間のリンクは不可。

ジャンクション

制限つきのシンボリックリンクのようなもの。
Windows 2000以降(NTFS)に対応。

mklink /J リンク名 オリジナル名
  • 対象はフォルダのみ。
  • プログラムからも通常のフォルダのように扱うことができる。
  • 異なるボリューム間のリンクが可能。
  • ネットワーク間のリンクは不可。
  • オリジナルのフォルダが削除・移動・リネームされるとリンクは無効になる。
  • リンクの削除・移動・リネームはオリジナルに影響しない。

シンボリックリンク

Windows Vista以降に対応。
ファイルに対しては

mklink リンク名 オリジナル名

フォルダに対しては

mklink /D リンク名 オリジナル名
  • ファイルでもフォルダでも可。
  • プログラムからも通常のファイル・フォルダのように扱うことができる。
  • ショートカットと違い、ファイルサイズは0。
  • 異なるボリューム間のリンクが可能。
  • ネットワーク間のリンクも可能。
  • オリジナルのフォルダが削除・移動・リネームされるとリンクは無効になる。
  • (少なくとも自分の環境では)オリジナルのファイルが移動・リネームされてもリンクは有効なまま。
  • リンクの削除・移動・リネームはオリジナルに影響しない。