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

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

※本ページにはプロモーション(広告)が含まれています

Windows シンボリックリンク 設定方法

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は良くできていますが、まだまだコマンドラインから利用したほうが便利な場合もあります。そんな時にはシンボリックリンクを活用してみてください。

シンボリックリンクは主にシステム利用で活用する

WindowsのGUIから一般利用する場合にはシンボリックリンクを使用する必要はありません。

ファイルへのアクセス手段を手元に置いておきたい場合はショートカットで十分であり、今の時代クラウドで作業すれば全ての問題が解決されます。

そのため、シンボリックリンクを活用するケースとしてはシステム処理がメインであり、パーミッションの関係などで元ファイルある場所をパス指定するのに問題がある場合などに、シンボリックリンクを作成してそこにパスを通すということが考えられます。

シンボリックリンクとして作成されたファイルに変更を加えると元ファイルも自動で更新されるので、この点でシステム的な処理が便利になります。

リモート接続している端末の共有フォルダなどにも適用可能

シンボリックリンクは、自分が利用しているローカル端末だけでなく、ネットワーク共有などでリモート接続しているパソコンのファイルやフォルダなどにも適用することができます。

特定組織内で利用する共有フォルダなどのシンボリックリンクで作成することで、そのパスでシステム的な関与を実行することができ、作業の自在性を高めることができます。

ただし、作成には管理者権限が必要となる為、準備に時間がかかるケースも想定されますので、管理者権限を持っている方に事前に話を通しておきましょう。

Check Also

Linux「Wine」の使い方と基礎知識

Linux上でWindowsアプリケーションを動かす「wine」の基礎知識と特徴

Linuxを使う場合にWind …