mklink

構文

MKLINK [[/D] | [/H] | [/J]] リンク ターゲット
Mklink | TechNet
パラメーター 説明
/D ディレクトリのシンボリック リンク (symbolic link) を作成する
/H ハード リンク (hard link) を作成する
/J ディレクトリ ジャンクションを作成する
リンク 作成するシンボリック リンクの名前
ターゲット 参照先のパス (相対または絶対)

これはUNIXのlnコマンドに相当します。

ファイルやフォルダがシンボリックリンクであるかどうかは、dirコマンドで確認できます。ファイルやフォルダの属性が、それぞれ<SYMLINK>や<SYMLINKD> (ディレクトリへのリンク) となっていたら、それはシンボリックリンクです。

2000/01/01  00:00  <DIR>       target                フォルダ
2000/01/01  00:00  <SYMLINKD>  link1 [target\]       相対パスの シンボリックリンク
2000/01/01  00:00  <SYMLINKD>  link2 [C:\dir\target] 絶対パスの シンボリックリンク

たとえばC:\dir1\target1のパスでC:\dir2\target2へアクセスされるようにするには、コマンドプロンプトから

C:\>mklink /d C:\dir1\target1 C:\dir2\target2
C:\dir1\target1 <<===>> C:\dir2\target2 のシンボリック リンクが作成されました

のようにします。また参照先を相対パスで指定するならば、作成するリンクからの相対パスとして、

C:\>mklink /d \dir\target1 ..\target2
\dir\target1 <<===>> ..\target2 のシンボリック リンクが作成されました

とすることで、C:\dir\target1C:\target2へアクセスできるようになります。windows - How do you make a symbolic link with a relative path using mklink? - Super User

トラブル対処法

特権がないとしてシンボリックリンクを作成できない

mklinkの実行時に「この操作を実行するのに十分な特権がありません。(You do not have sufficient privilege to perform this operation.)」と表示されるならば、それは現在のアカウントにシンボリックリンクを作成する権利が与えられていないためです。この権利は既定ではAdministratorsにのみ与えられているため、管理者としてコマンドプロンプトを実行すれば、シンボリックリンクを作成できます。

管理者アカウントでは、権利が与えられていても管理者としてコマンドプロンプトを実行しなければなりません。How can I create symbolic links in Windows 8.1 without an admin command prompt? - Super User

ポリシーでの権利 管理者
(Administratorsグループ)
標準ユーザー
(Usersグループ)
割り当てられていない 管理者権限で実行 管理者権限で実行
割り当てられている ユーザー権限で実行

この権利は、ローカル セキュリティ ポリシーで【セキュリティの設定 → ローカル ポリシー → ユーザー権利の割り当て → シンボリック リンクの作成 (Create symbolic links)】で追加できます。これを変更した場合には、再度サインインすることで変更が反映されます。

ハードリンクとソフトリンク

ハードリンク (hard link)
ファイルやディレクトリを、別のパスで参照できるようにする仕組み ハードリンクとは 【 hard link 】 - IT用語辞典 e-Words
シンボリックリンク (symbolic link) / ソフトリンク (soft link)
ファイルやディレクトリに別の名前を与え、その名前で本体同様に扱えるようにする仕組み シンボリックリンクとは 【 symbolic link 】 - IT用語辞典 e-Words
比較
  対応 管理者権限 別名 異なるボリュームへのリンク 絶対パス 相対パス
ハードリンク Windows 2000以降 不要 × × --- ---
ジャンクション Windows 2000以降 不要 ×
シンボリックリンク Windows Vista以降 必要