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\target1でC:\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)】で追加できます。これを変更した場合には、再度サインインすることで変更が反映されます。
対応 | 管理者権限 | 別名 | 異なるボリュームへのリンク | 絶対パス | 相対パス | |
---|---|---|---|---|---|---|
ハードリンク | Windows 2000以降 | 不要 | × | × | --- | --- |
ジャンクション | Windows 2000以降 | 不要 | ○ | ○ | ○ | × |
シンボリックリンク | Windows Vista以降 | 必要 | ○ | ○ | ○ | ○ |