Windows OSにある、ファイル・フォルダパスへの参照リンクを作成する機能(リンク機能、ショートカットのように別の場所にあるファイル・フォルダへリダイレクトし、リンクがあたかも実在するパスのように利用できる機能)を、以降で試す。
リンクを作成する機能、3種類: ジャンクション・シンボリックリンク・ハードリンクを試す。
mklinkコマンド
始めに、mklinkコマンドを確認。
Microsoft Windows [Version 10.0.19045.2251]
(c) Microsoft Corporation. All rights reserved.
D:\...\リンク作成テスト>mklink
シンボリック リンクを作成します。
MKLINK [[/D] | [/H] | [/J]] リンク ターゲット
/D ディレクトリのシンボリック リンクを作成します。既定では、
ファイルのシンボリック リンクが作成されます。
/H シンボリック リンクではなく、ハード リンクを作成します。
/J ディレクトリ ジャンクションを作成します。
リンク 新しいシンボリック リンク名を指定します。
ターゲット 新しいリンクが参照するパス (相対または絶対)
を指定します。
テスト用のサンプルフォルダ構成
テスト用のサンプルフォルダ構成は、以下のように用意。
D:\...\リンク作成テスト>tree /f
│ test2 - ショートカット.lnk
│ リンク作成時のコンソール出力.txt
│
└─test1
└─test2
└─test3
test1.txt
mklink /j ディレクトリへのジャンクション
以下、Windowsコマンドプロンプト(管理者権限なし)。
mklink /j →成功OK
D:\...\リンク作成テスト>mklink /j mklink-j test1\test2
mklink-j <<===>> test1\test2 のジャンクションが作成されました
D:\...\リンク作成テスト>dir
2022/11/19 20:54 <DIR> .
2022/11/19 20:54 <DIR> ..
2022/11/19 20:54 <JUNCTION> mklink-j [D:\...\リンク作成テスト\test1\test2]
2022/11/19 20:56 <DIR> test1
2022/11/19 20:56 1,233 test2 - ショートカット.lnk
D:\...\リンク作成テスト>mklink-j\test3\test1.txt
(⇒テキストファイルが開く →成功OK)
mklink /d ディレクトリのシンボリックリンク
以下、Windowsコマンドプロンプト(管理者権限あり)。
mklink /d (相対パス) →成功OK
D:\...\リンク作成テスト>mklink /d mklink-d test1\test2
mklink-d <<===>> test1\test2 のシンボリック リンクが作成されました
D:\...\リンク作成テスト>dir
2022/11/19 21:45 <DIR> .
2022/11/19 21:45 <DIR> ..
2022/11/19 21:45 <SYMLINKD> mklink-d [test1\test2]
2022/11/19 20:54 <JUNCTION> mklink-j [D:\...\リンク作成テスト\test1\test2]
2022/11/19 20:56 <DIR> test1
2022/11/19 20:56 1,233 test2 - ショートカット.lnk
D:\...\リンク作成テスト>mklink-d\test3\test1.txt
(⇒テキストファイルが開く →成功OK)
mklink /d →権限なし
Windowsコマンドプロンプト(管理者権限なし)で、
D:\...\リンク作成テスト>mklink /d mklink-d test1\test2
この操作を実行するための十分な特権がありません。
mklink /d (絶対パス) →成功OK
C:\WINDOWS\system32>mklink /d mklink-d "D:\...\リンク作成テスト\test1\test2"
mklink-d <<===>> D:\...\リンク作成テスト\test1\test2 のシンボリック リンクが作成されました
C:\WINDOWS\system32>dir mk*
2022/11/19 21:42 <SYMLINKD> mklink-d [D:\...\リンク作成テスト\test1\test2]
C:\WINDOWS\system32>mklink-d\test3\test1.txt
(⇒テキストファイルが開く →成功OK)
mklink /h ファイルのハードリンク
以下、Windowsコマンドプロンプト(管理者権限なし)。
mklink /h →成功OK
D:\...\リンク作成テスト>mklink /h mklink-h.txt test1\test2\test3\test1.txt
mklink-h.txt <<===>> test1\test2\test3\test1.txt のハードリンクが作成されました
D:\...\リンク作成テスト>dir
2022/11/20 10:26 <DIR> .
2022/11/20 10:26 <DIR> ..
2022/11/19 21:45 <SYMLINKD> mklink-d [test1\test2]
2022/11/19 21:22 18 mklink-h.txt
2022/11/19 20:54 <JUNCTION> mklink-j [D:\...\リンク作成テスト\test1\test2]
2022/11/19 20:56 <DIR> test1
2022/11/19 20:56 1,233 test2 - ショートカット.lnk
D:\...\リンク作成テスト>mklink-h.txt
(⇒テキストファイルが開く →成功OK)
mklink /h →フォルダは不可
D:\...\リンク作成テスト>mklink /h mklink-h test1\test2
アクセスが拒否されました。
最終的なフォルダ構成表示をチェック
D:\...\リンク作成テスト>tree /f
│ mklink-h.txt
│ test2 - ショートカット.lnk
│ リンク作成時のコンソール出力.txt
│
├─mklink-d
│ └─test3
│ test1.txt
│
├─mklink-j
│ └─test3
│ test1.txt
│
└─test1
└─test2
└─test3
test1.txt
詳細情報
引用: