Windowsでシンボリックリンクを使う方法

Windows VistaおよびWindows Server 2008ではシンボリックリンク機能が標準で実装されています。
しかしWindowsXPでは実装されていません。

WindowsXPでのシンボリックリンクツール

WindowsXPやWindows2000でシンボリックリンクを使うにはリンク作成シェル拡張というツールを使うと可能です。

リンク作成シェル拡張for Windows 2000/XP

ツールの使い方

シンボリックリンクを作りたいファイルやフォルダを右クリックドラッグし、シンボリックを作りたいフォルダへドロップ
表示されるメニューから『リンクを作る』を選択する

WindowsVistaでのシンボリックリンク

Windows VistaおよびWindows Server 2008でシンボリックリンクを使うにはコマンドラインからmklinkを実行します。

mklink 【作成するリンク名】 【リンク先のファイル/フォルダ名】
C:\>mklink
シンボリック リンクを作成します。

MKLINK [[/D] | [/H] | [/J]] リンク ターゲット

        /D          ディレクトリのシンボリック リンクを作成します。既定では、
                    ファイルのシンボリック リンクが作成されます。
        /H          シンボリック リンクではなく、ハード リンクを作成します。
        /J          ディレクトリ ジャンクションを作成します。
        リンク      新しいシンボリック リンク名を指定します。
        ターゲット  新しいリンクが参照するパス (相対または絶対)
                    を指定します。

作成するリンクの種類によって、/Dや/H、/Jなどのオプションを指定します。
オプション指定を省略すると、ファイルへのリンクの作成となります。

なおシンボリック・リンクを作成するには、 Windows Vista以降で新しく導入された「シンボリック リンクの作成」というユーザー権利が必要になります。
デフォルトではAdministratorsグループにのみ、この権利が割り当てられています。
ユーザーの権利は[管理ツール]の[ローカル セキュリティ ポリシー]などで設定できます。

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

ファイルに対するシンボリック・リンクを作成するには、mklinkコマンドに作成するリンク名とリンク先のファイル名を指定するだけです。

C:\>mklink testlink.exe c:\test.exe
testlink.exe <<===>> c:\testlink.exe のシンボリック リンクが作成されました

リモートのサーバ上のファイルに対するリンクの作成

ローカルのファイルだけでなく、リモートのファイル・サーバ上のファイルに対してもリンクを張ることができる。

C:\test>mklink test.txt \\server1\test.txt
test.txt <<===>> \\server1\test.txt のシンボリック リンクが作成されました

C:\test>dir
 ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 7015-9F3B です

C:\test のディレクトリ

2009/06/28  20:53    <DIR>          .
2009/08/19  00:57    <DIR>          ..
2009/08/19  01:09    <SYMLINK>      test.exe [c:\test.exe]
               1 個のファイル                   0 バイト
               2 個のディレクトリ  827,313,950,720 バイトの空き領域

ファイルに対するシンボリック・リンクには「<SYMLINK>」という属性が表示されている。
[ ]内に、リンク先のファイルのパスが表示されている。

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

フォルダに対するシンボリック・リンクを作成するには、/dオプションを使用する。

C:\test>mklink /d testfolder c:\test2
testfolder <<===>> c:\test2 のシンボリック リンクが作成されました

C:\test>dir /ad
 ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 7015-9F3B です

C:\test のディレクトリ

2009/06/28  20:53    <DIR>          .
2009/08/19  00:57    <DIR>          ..
2009/08/19  01:09    <SYMLINKD>     test [c:\test2]
               1 個のファイル                   0 バイト
               2 個のディレクトリ  827,313,950,720 バイトの空き領域

フォルダへのリンクの場合は「<SYMLINKD>」という属性が表示されます。

シンボリック・リンクの削除

シンボリック・リンクは通常のファイルやフォルダと同じなので、例えばエクスプローラ上で削除操作を行うと、 そのリンクが削除される(リンク先が削除されるわけではない)。
コマンド・プロンプト上で作業する場合は、ファイルへのリンクの削除ならdelコマンド、 フォルダへのリンクの削除ならrdである(フォルダへのリンクをdelで削除しようとすると、そのフォルダの中のファイルが削除されてしまうので注意)。

関連記事

スポンサーリンク

OSのバージョンと特徴

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る