PR
更新:2025/01/26

【windows】mklinkの使い方とオプションについて

はるか
はるか
シンボリックリンクって、ファイルやフォルダを別の場所に移動しても参照できる仕組み。
ふゅか
ふゅか
そうそう!実体がどこにあっても、リンクでアクセスできるの便利よね。

1. mklinkとは

Windowsのmklinkは、シンボリックリンクやハードリンク、ディレクトリジャンクションを作成するためのコマンドです。シンボリックリンクを使うことで、実体ファイル/フォルダを別の場所に移動しても、リンク先を透過的に参照できるといったメリットがあります。

以下では、主なオプションと使用例をまとめています。

1.1. 基本構文

mklink [オプション] <リンク名> <リンク先(実体)>
  • <リンク名>: 新たに作成するリンクのパス。
  • <リンク先>: 実際に存在するファイルやディレクトリのパス。

2. よく使われるオプション

オプション 意味
/D ディレクトリ用のシンボリックリンクを作成します。
/H ハードリンク(ファイル専用)を作成します。
/J ディレクトリジャンクションを作成します。
ふゅか
ふゅか
オプションで違いがあるの?
はるか
はるか
ある。たとえば、/Dはディレクトリ用。/Hはハードリンク。/Jはディレクトリジャンクション。
ふゅか
ふゅか
へえ、ディレクトリジャンクションって、フォルダ全体を仮想的に結ぶ感じなんだ!具体的なイメージがつかめてきたよ。

2.1. シンボリックリンク(/D なし、または /D あり)

  • /D なし: 通常はファイルに対するシンボリックリンクを作成します。
  • /D あり: ディレクトリに対するシンボリックリンクを作成します。

2.2. ハードリンク (/H)

  • ファイルに対するハードリンクを作成します。

2.3. ディレクトリジャンクション (/J)

  • ディレクトリ同士を結びつける際に使われます。
  • シンボリックリンクとの差異は小さいですが、ジャンクションは主にディレクトリ階層自体を“仮想的にマウント”するイメージです。

3. 使用例

3.1. ファイルのシンボリックリンクを作成する

mklink "C:\data\myLink.txt" "C:\data\original.txt"
  • myLink.txt はシンボリックリンクになります。
  • C:\data\original.txt が実際のファイル。

エクスプローラでは次のように表示されます。

3.2. フォルダ(ディレクトリ)のシンボリックリンクを作成する

mklink /D "C:\data" "C:\Project"
  • ProjectLink はシンボリックリンクのディレクトリ。
  • D:\Project が実際のディレクトリ。

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

mklink /H "C:\data\hardLink.txt" "C:\data\original.txt"
  • hardLink.txt はハードリンク。

エクスプローラでは次のように表示されます。

 

3.4. ディレクトリジャンクションを作成する

mklink /J C:\test\junkLink C:\test\junk
  • C:\test\junkLink はディレクトリジャンクション。
  • C:\test\junk が実体のディレクトリ。

エクスプローラで確認すると、

PR