(ここで、リンクの話をしている理由は、最後の方に書いています。)

Windows でのショートカットとシンボリック リンクの違い

Windowsのショートカットは、Linuxのシンボリック リンクと同じものだと思っていました。
でも、実際は違うんですね。

Windows10では、ショートカットとシンボリック リンクは異なります。
また、シンボリック リンクのほか、ジャンクション リンク、ハード リンクがあります。

http://www.atmarkit.co.jp/ait/articles/1306/07/news111.html

ハード リンクは、リンク先と直結している感じになり、リンクファイルを消すと
リンク先のファイルも消えてしまいます。

ちょっと危なっかしいので、ハード リンクを使うのはやめておきます。


ショートカット・シンボリック リンク・ジャンクション リンクの比較

ショートカット・シンボリック リンク・ジャンクション リンクを簡単に比較してみます。

C・Dドライブに「sample」フォルダを作成し、Dドライブのsampleフォルダの中に
「smp」フォルダと「sample.txt」ファイルを作成し、
Cドライブのsampleフォルダに、Dドライブのsmpフォルダとsample.txtのショートカットとリンクを
作成します。
なお、ジャンクション リンクは、フォルダしか作成できません。

Dドライブにsampleフォルダ、その中にsmpフォルダ・sample.txtを作成

イメージ 1

ショートカットを作成し、名前を「smp-sc」「sample-sc.txt」にします。
イメージ 2


リンクを作成します。
管理者権限でコマンドプロンプトを起動します。
リンクを作成するコマンドは、mklinkです。
-------------------------------------------------------------------------
C:\Windows\system32>mklink /D c:\sample\smp-sl d:\sample\smp
c:\sample\smp-sl <<===>> d:\sample\smp のシンボリック リンクが作成されました

C:\Windows\system32>mklink c:\sample\sample-sl.txt d:\sample\sample.txt
c:\sample\sample-sl.txt <<===>> d:\sample\sample.txt のシンボリック リンクが作成されました

C:\Windows\system32>mklink /J c:\sample\smp-jl d:\sample\smp
c:\sample\smp-jl <<===>> d:\sample\smp のジャンクションが作成されました
-------------------------------------------------------------------------

イメージ 3



上記のように、ショートカットは、「ショートカット」という種類のファイルのようです。

ショートカットは、リンク先を移動させても追従してくれることです。
しかし、Windows10では、追従してくれませんでした。
Windows7では、追従してくれたんですけどね・・・
(レジストリの設定で追従してくれるのかもしれませんが。)

リンクの方は、シンボリック、ジャンクションともに、追従はしません。

ショートカットとリンクの違いは、フォルダを開けるとわかります。
ショートカットのフォルダを開けると、リンク先のフォルダが開きます。
つまり、smp-scフォルダを開けると、D:\sample\smpが開きます。

シンボリック、ジャンクション リンクのフォルダは、そのままフォルダとして機能します。
つまり、smpl-slフォルダを開くと、C:\sample\smp-slフォルダとして開きます。
実際の中身は、D:\sample\smpなのですが、C:\sample\smp-slフォルダとして機能します。
smpl-jlもC:\sample\smp-jlフォルダとして開きます。

イメージ 4



このフォルダにファイルを作成すると、D:\sample\smpにファイルが作成されます。


ショートカットがリンク先を追従してくれるのであれば良かったんですが、
追従しない場合は、リンクのほうが使いやすいと思います。
ショートカットの場合、エクスプローラーでは、「元に戻る」(Back space)で戻らないといけませんから。


シンボリック リンクとジャンクション リンクの違いは、「開く」のダイアログで
ジャンクションはエクスプローラーと同じようになりますが(C:\sample\smp-jlフォルダ)、
シンボリック リンクは、リンク先に変わってしまいます。
(C:\sample\smp-slフォルダを開くと、D:\sample\smpフォルダが開きます。)

ジャンクション リンクは、ローカルフォルダしか利用できない、フォルダしかリンクできないなどの
制約がありますが、管理者権限でなくても作成できるので、リンクフォルダとして使いやすいと思います。



 自分は、CドライブがSSD 256GB、DドライブがHDD 1TBあります。

いい音で再生したい場合、出来るだけ速いドライブに保存するほうが良いので、
音源は、Cドライブに。 その他のデータファイル(ドキュメントファイルや動画ファイルなど)は
Dドライブに保存しています。

でも、Windows10は、ドキュメントフォルダなどは、基本、Cドライブで作成され、
Dドライブに変更しても、Cドライブ側が残ったままで、共存する形になってしまいます。

それならば、ドキュメントやフォルダの上にジャンクション リンクフォルダを作成し、
リンク先をDドライブのフォルダにすると便利です。

本当は、ドキュメントやビデオなどのフォルダをリンクにしたかったんですが、
フォルダ名を変えても(DocumentsフォルダをDocuments_bakにrenしました)、
ドキュメントフォルダ自体がDocuments_bakに切り替わってました(追従しました)。


このようにして、Cドライブは、Windowsシステムファイル、プログラムファイル、音源だけにして
音源ファイルを保存するために、出来るだけ空けておくようにしました。