mklink - リンクの作成

にメンテナンス済み

mklinkコマンドは、ファイルシステム上のリンクを作成するコマンドです。

エクスプローラーのショートカットと似ていますが、mklinkで作成するリンクはファイルシステムレベルで扱われるため、コマンドラインやアプリケーションからも通常のファイルやフォルダに近い形で利用できます。

mklinkコマンドの基本構文

mklink [[/d] | [/h] | [/j]] <リンク> <ターゲット>
要素説明
<リンク>新しく作成するリンクのパス
<ターゲット>リンク先となるファイルまたはフォルダのパス
/dディレクトリへのシンボリックリンクを作成
/hファイルへのハードリンクを作成
/jディレクトリジャンクションを作成

リンクの種類

mklinkで作成できるリンクは、用途によって使い分けます。

種類作成方法主な用途
ファイルのシンボリックリンクオプションなし別の場所にあるファイルを参照したい
ディレクトリのシンボリックリンク/dフォルダ全体を別の場所から参照したい
ハードリンク/h同一ボリューム内で 1 つのファイルに複数の名前を付けたい
ディレクトリジャンクション/jディレクトリの参照先を付け替えたい
シンボリックリンクとショートカットの違い

ショートカットは .lnk ファイルですが、シンボリックリンクはファイルシステムのリンクです。 コマンドやアプリケーションから扱うときは、ショートカットより mklink のリンクの方が自然に使える場面が多くあります。

基本的な使い方

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

mklink C:\work\latest.log C:\logs\2026-04-20.log
×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>mklink C:\work\latest.log C:\logs\2026-04-20.log
symbolic link created for C:\work\latest.log <<===>> C:\logs\2026-04-20.log
C:\users\user>

フォルダへのシンボリックリンクを作成する

mklink /d C:\work\assets D:\shared\assets

ハードリンクを作成する

mklink /h C:\work\report-latest.txt C:\archive\report.txt
ハードリンクの制約

ハードリンクはファイルに対してのみ作成でき、同じボリューム内で使う必要があります。 フォルダには使えません。

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

mklink /j C:\work\current D:\projects\current

使い分けの目安

  • 別ドライブをまたいでフォルダを参照したい場合は、まずシンボリックリンクかジャンクションを検討します。
  • 同じファイルに複数の名前を持たせたい場合は、ハードリンクが向いています。
  • バッチファイルやツールから「本物のパスのように」扱いたい場合は、ショートカットより mklink の方が適しています。

注意点

権限について

多くの環境では、シンボリックリンクの作成に管理者権限が必要です。 ただし、Windows 10 / 11 で開発者モードが有効な環境では、管理者権限なしで作成できる場合があります。

  • シンボリックリンクは、相対パスでも絶対パスでも作成できます。
  • ハードリンクはリンク先の実体ファイルが必要です。
  • リンクを削除しても、リンク先の元ファイルや元フォルダは削除されません。

リンクの削除方法

リンクだけを削除したい場合は、リンクの種類に応じて削除コマンドを使い分けます。

ファイルのリンクを削除する

del C:\work\latest.log

ディレクトリのリンクやジャンクションを削除する

rmdir C:\work\assets
削除対象に注意

削除するのはあくまでリンクです。リンク先の実体を削除したい場合は、元のパスを指定してください。

関連記事

練習問題

#コマンドプロンプト #バッチファイル #引数 #コマンドライン #コマンド