Windowsでシンボリックリンクを作成するにはどうしたらいいのだろうか。この記事では、シンボリックリンクとはどのようなもので、Windowsで作成するにはどうしたらいいのか、共有フォルダ経由で利用可能なシンボリックリンクとは、どのように作成するのか解説する。
シンボリックリンクとは?
別の場所へ保存したファイルやフォルダへアクセスするためのリンクを、アクセスしやすい場所へ置いておきたいという場合がある。そのような場合に、シンボリックリンクを設定するのがオススメだ。
シンボリックリンクとは、別の場所へ保存しているファイルやフォルダにアクセスできるリンクを配置できる仕組みである。またシンボリックリンクでは、同じファイルに対して複数の名前を付けて同じ場所に設置することもできる。
違う場所からアクセスできるようにしても、同じ場所に複数のファイルとして配置するようにしても、どちらにせよシンボリックリンクを配置しただけでは、ストレージ容量は元のファイルの容量しか使わない。
パソコンの起動やプログラムの実行はSSDで行い、ファイルはHDDへ保存するといった使い分けをしているユーザーが増えている。エクスプローラーでその都度HDDを開いてファイルやフォルダを開かなくても、SSDのよくアクセスする場所へファイルやフォルダのシンボリックリンクを配置しておけば、SSDから簡単に開けるようになる。
Windowsには似たような仕組みとしてショートカットがある。しかし、ショートカットはエクスプローラーからファイルやフォルダを開くのには便利だが、プログラムの実行中にファイルやディレクトリを開くことができない。
たとえば、Wordで編集するドキュメントファイルを、Wordのファイルを開くからショートカットでは開けないのだ。
シンボリックリンクなら、Wordからシンボリックリンク経由で開くことができるため、パソコンの使い方によってはショートカットよりも便利だというユーザーも多いことだろう。
それでは、具体的にWindowsでシンボリックリンクを作成する方法について見ていこう。Windowsでシンボリックリンクを作成する方法は、PowerShellで作成する方法と、コマンドプロンプトで作成する方法の2つの方法がある。それぞれの作成方法について解説する。
【Windows】シンボリックリンクの作成・設定方法【①PowerShellで作成する】
まずは、PowerShellでシンボリックリンクを作成する方法について解説する。PowerShellを使って作成するときには、PowerShellを必ず管理者権限で起動しておこう。PowerShellを管理者権限で起動する方法は次のとおりである。
管理者権限でPowerShellが起動したら、次のようにコマンド操作を行っていこう。
書式
PowerShellでシンボリックリンクを作成するときには、「New-Item」コマンドを使う。New-Itemコマンドとは、新しいファイルやフォルダを作成するためのコマンドである。New-Itemコマンドを使った、シンボリックリンクを作成するための書式は次のとおりである。
New-Item -Value ‘(リンク先フォルダ)’ -Path ‘(シンボリックリンクの配置先)’ -Name (シンボリックリンク名) -ItemType SymbolicLink
PowerShellで実行する場合には、ファイルもフォルダも同じコマンドの書式となる。
コマンド例
実際にコマンドを実行してみよう。今回はCドライブのデスクトップの「テストフォルダ」内の「test」というフォルダを、Fドライブの「テスト」というフォルダ内に「新データ」という名前のシンボリックリンクとして配置してみる。実行するためのコマンドは次のとおりである。
New-Item -Value ‘C:\Users\user\Desktop\テストフォルダ/test’ -Path ‘F:/テスト’ -Name 新データ -ItemType SymbolicLink
元のファイルの場所とシンボリックリンクを作成した場所を見てみよう。
コマンドの実行後にシンボリックリンクを配置したフォルダに作成されていることがわかる。
【Windows】シンボリックリンクの作成・設定方法【②コマンドプロンプトで作成する】
Windowsのシンボリックリンクの作成はコマンドプロンプトでもできる。コマンドプロンプトで作成する場合には、ディレクトリやフォルダのシンボリックリンクと、ファイルのシンボリックのコマンドが異なる点に注意しよう。フォルダとファイルのシンボリックリンクのコマンドを見ていこう。
コマンドプロンプトでシンボリックリンクを作成するときにも、必ずコマンドプロンプトは管理者権限で起動しよう。管理者権限で起動する方法は次のとおりである。
管理者権限でコマンドプロンプトが起動したら、次のコマンドでシンボリックを作成していこう。コマンドプロンプトでシンボリックリンクを作成するときには、mklinkコマンドを使う。mklinkとは、シンボリックリンクもしくはハードリンクを作成するためのコマンドである。
書式(ディレクトリ/フォルダへのシンボリックリンク作成の場合)
コマンドプロンプトでフォルダやディレクトリへのシンボリックリンクを作成する場合の書式は次のとおりだ。
mklink /D (シンボリックリンクの配置先とシンボリックリンク名) (リンク先フォルダ)
書式(ファイルへのシンボリックリンク作成の場合)
コマンドプロンプトでファイルへのシンボリックリンクを作成する場合の書式は次のとおりだ。
mklink /D (シンボリックリンクの配置先とシンボリックリンク名) (リンク先ファイル)
コマンド例
実際のコマンド例を見ていこう。
まずはフォルダのシンボリックリンク作成例である。Cドライブのデスクトップの「テストフォルダ」内の「test」というフォルダを、Fドライブの「テスト」というフォルダ内に「新データ」という名前のシンボリックリンクとして配置してみる。実行するためのコマンドは次のとおりである。
mklink /D F:\テスト\新データ C:\Users\user\Desktop\テストフォルダ\test
【Windows】シンボリックリンクを作成する時の注意点
シンボリックリンクを作成するときの注意点について見ておこう。
管理者権限で実行する
PowerShellで設定する場合も、コマンドプロンプトで設定する場合も、シンボリックリンクの設定は管理者権限で実行しないとできない。PowerShellも、コマンドプロンプトも必ず管理者権限で起動した上で設定しよう。
【Windows】共有フォルダ経由で利用可能なリンクを作成するには?
複数のパソコンでファイルやフォルダを共有している時に、シンボリックリンクの接続先が共有されていないフォルダ内にあることがある。この場合、シンボリックリンクでは共有されていないフォルダ内のファイルやフォルダにアクセスすることはできない。
もしも、なんらかの理由で共有されていないフォルダ内のファイルやフォルダを、シンボリックリンクで共有しなければいけない場合には、共有フォルダ内に接続したいファイルを格納しているフォルダへのジャンクションリンクを設定しよう。
ジャンクションリンクは共有フォルダを経由すれば、非共有フォルダ内のディレクトリへ接続することができる。なお、ジャンクションリンクは、ファイルに対して設定することはできない点に注意しよう。