Home / Windows / Windowsでシンボリックリンクを設定する方法

Windowsでシンボリックリンクを設定する方法

Pocket

win42-1
Windowsのショートカットはファイルでもフォルダでも気軽に作成できます。非常に便利です。でも、コマンドラインで利用しているとこれがとても使いにくくなります。コマンドプロンプトでショートカットを指定するのは困難です。

そんな時にはシンボリックリンクを作成しましょう。Windows Vista以降のWindowsならシンボリックリンクが利用できます。

スポンサーリンク

シンボリックリンクとは

シンボリックリンクとは特定のファイルやディレクトリを、それらを指名するファイルを作成してOSの別の場所から参照することのできる仕組みのことです。

シンボリックリンク自体は、通常操作の簡易性を目的に作成することが多いため、GUIではデスクトップ、CUIではホームディレクトリなどに設置されることが多いです。また、リモートで複数端末間で共有されているフォルダにもシンボリックリンクは貼ることができ、ローカルPC端末以外にも利用できる点もとても便利です。

似たような機能に、ハードリンクやジャンクションと呼ばれる機能があります。シンボリックリンクとこれらの違いは何なのか、次で見ていきましょう。

ハードリンクとは

ハードリンクとは、1つのファイルを指定する複数の参照リンクのことを指します。ハードリンクの数を増やすとリファレンスカウントが一つ増加する様な形となり、オリジナルのエントリーファイルを削除した場合でも、リファレンスカウントが1減少し、ファイルの実体は残っているので、そのままリンク切れなどは起こさずにファイルを閲覧することができます。

しかし、シンボリックリンクとは異なり、同一Volume環境のファイルにのみハードリンクは貼ることができるため、第三者とのファイルの共有利用などを行うことはできません。

ジャンクションとは

ジャンクションは別名「ソフトリンク」とも呼ばれ、同一Volume環境内のフォルダーに対してのみ、ショートカットの様にフォルダーを参照することができます。また、参照先のファイルが削除されると、ジャンクションからはファイルがアクセスできなくなります。

シンボリックリンクが登場してからはその役割を譲っている一面もありますが、古くから使われているリンク方式でもあり、ほぼいずれのパソコンでも利用できる便利さもあります。

それでは、次からWindowsでシンボリックリンクを作成するための手順を順にみていきましょう。

1.シンボリックリンクを作成する準備

シンボリックリンクを作成できるのは、NTFSフォーマットのドライブとなります。FATでは作成できません。また、管理者権限が必要になります。

フォーマット形式は「ディスクの管理」画面で確認できます。

win42-2

シンボリックリンクを作成するには、管理者権限で立ち上げた「コマンドプロンプト」を利用します。管理者権限の「コマンドプロンプト」を起動する方法はWindowsのバージョンによって異なります。

Windows7以前のバージョンは「windows」キーを押しながら「R」キーを押して、「ファイル名を指定して実行」の「名前」に「cmd」と入力して「Ctrl」キーと「Shift」キーを押しながら「Enter」キーを押します。

Windows8以降では、「Windows」キーを押しながら「X」キーを押して、表示されたメニューから「コマンドプロンプト(管理者)」を選択します。

Windows10でメニューの「コマンドプロンプト」を「Windows PowerShell」に変更している場合は、「windows」キーを押して、「cmd」とキー入力して「Ctrl」キーと「Shift」キーを押しながら「Enter」キーを押します。

管理者権限の「コマンドプロンプト」はウィンドウのタイトルが「管理者:コマンドプロンプト」と表示されます。

2.リンクの種類と特徴

リンクを作成するコマンドは「mklink」です。「mklink」と打ち込んで「Enter」キーを押すと、書式とオプションが表示されます。

win42-b

シンボリックリンクは、ファイルにもフォルダにもリンクが貼れます。「/d」オプションをつけると、ディレクトリへのシンボリックリンクとなります。

ハードリンクは、シンボリックリンクとは少し性質が異なります。一つの実体ファイルに対して、別名を付けるイメージです。ハードリンクと元々のファイル名は同列です。ハードリンクを作成して、元ファイルを削除しても、ハードリンクが実態を持ったファイルとして残ります。ハードリンクを作成できるのはファイルだけで、フォルダには作成できません。

ディレクトリジャンクションはフォルダへのシンボリックリンクに似ていますが、ネットワークを介した時などに違いが出ます。ネットワーク上の他のマシンの共有フォルダに対してジャンクションは作成できませんが、シンボリックリンクは作成できます。逆に、ジャンクションを設定したフォルダを共有設定すると、ネットワーク上の他のマシンからもジャンクションとして利用できますが、シンボリックリンクだと他のマシンから確認できません。

ディレクトリジャンクションとシンボリックリンクはハードリンクに対してソフトリンクと呼ばれています。

3.シンボリックリンクを作成する

ファイルにシンボリックリンクを貼るには「mklink リンク名 ターゲットファイル」です。「linktest\linktest.txt」にリンク名「symbol」としてシンボリックリンクを貼るには「mklink symbol linktest\linktest.txt」となります。

同様にディレクトリにシンボリックリンクを貼るには「mklink /d リンク名 ターゲットフォルダ」となります。「linktest」フォルダにリンク名「symbold」としてシンボリックリンクを貼るには「mklink /d synbold linktest」となります。

ファイルにハードリンクを貼るには「mklink /h リンク名 ターゲットファイル」です。「linktest\linktest.txt」にリンク名「hardlink」としてハードリンクを貼るには「mklink /h hardlink linktest\linktest.txt」となります。

ディレクトリにジャンクションを作成するには「mklink /j リンク名 ターゲットフォルダ」です。「linktest」フォルダにリンク名「junction」としてジャンクションを作成するには「mklink /j junction linktest」となります。

「dir」でリストを表示すると、各々のリンクの違いが表示されますが、ハードリンクだけは通常のファイルと同様に表示されます。

win42-c

シンボリックリンクはWindows Vistaから利用できるようになりました。つまり、新機能なのです。WindowsのGUIは良くできていますが、まだまだコマンドラインから利用したほうが便利な場合もあります。そんな時にはシンボリックリンクを活用してみてください。

Pocket

スポンサーリンク

Check Also

e23cddedba00c063db7feb19728aee7e_t

iPhoneでテザリングを設定する方法と注意点

意外と知られていないテザリング …

Facebookでのご購読が便利です