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
削除対象に注意
削除するのはあくまでリンクです。リンク先の実体を削除したい場合は、元のパスを指定してください。
関連記事
cd/chdir - ディレクトリの移動
コマンドプロンプトでディレクトリを移動するcdコマンドについて、基本的な使い方からオプションの設定方法まで、サンプルコードを使用して分かりやすく解説しています
練習問題
#コマンドプロンプト
#バッチファイル
#引数
#コマンドライン
#コマンド