まず、用語の定義を簡単に説明します。

  • ソフトリンク (シンボリック リンクとも呼ばれます)
  • ハードリンク
  • ジャンクション (ディレクトリに対するソフト リンクの一種)

ソフト リンクはファイルまたはディレクトリに対して作成することができます。C: にあるものを D: にあるものにリンクすることはできません。

リンクの削除

これは、ソフトリンクとハードリンクの違いが最も顕著に表れるところです。 ターゲットを削除すると、ソフトリンクは機能しなくなります。 しかし、ハード リンクは、ハード リンク自体を削除するまで機能し続けます。 ハード リンクは元のファイルと同様に動作します。

Junctions

Windows には、Junctions というディレクトリ専用の別のタイプのリンクもあります。 主な違いは、異なるローカル ボリューム (ただし、同じコンピューター上) にあるディレクトリをリンクできることです。 ネットワーク上の場所へのジャンクションは作成できません。

MKLINK

の使用

ディレクトリへのソフトリンクを作成する。

ディレクトリへのジャンクションリンクを作成する。

ファイルへのソフトリンクを作成する。

ファイルへのハードリンクを作成する。

これらはどのように見えるか。

PowerShell ユーザーへのメモ:
MKLINK は PowerShell から呼び出せる実行可能ファイルではありません。 コマンド プロンプトから呼び出す必要があります。

cmd /c mklink /D symlink_dir real_dir

あるいは、MKLINK のネイティブ PowerShell ラッパーを持つ、私が書いたこのモジュールを使うこともできます。

MSDNで MSLINK について読む。 これは、mklink /H.

MSDN で FSUTIL についてお読みください。

Using Junction

Junction は Sysinternals が提供しているツールで、ジャンクションを作成する別の方法を提供します。 mklink /Jと同じです。 また、ここでは取り上げないが、ジャンクションを扱うための他のツールもある。