知らなかった。Windows2000からハードリンクやジャンクションが作れるようになっていて、Vistaからシンボリックリンクが作れるんだって。
とりあえずジャンクションとシンボリックリンクを作って検証してみる。
不便な点
エクスプローラーでファイルの検索が出来ないときがあった。原因不明。この時はEverythingで検索した。
特にディレクトリ以下が、検索できない。
JunctionもSymbolicもコピーすると、以下の中身をごっそりコピーしてくる。
移動させると中身をごっそり移動させて来て、親のフォルダ(リンクそのものも、ターゲットも)は残ったまま。ある意味定期的にごっそり掃除するようなテンポラリフォルダに適しているかも。
FreeFileSyncで同期させようとしたら、コピーすらされなかった。ファイル構造の中にリンクがあるとデフォルトでそれ以下が保存されない。設定でSymリンクを含めるにしてDirectかFollowを選べる。
つまり、JunctionもSymbolicもそのものが動かない。そのディレクトリで発生させて消すことはできるが。
良い事
どちらかといえば、ショートカット(.lnk)によるディレクトリを、理解できないような古いダイアログが、ハードリンクかジャンクションで作るとディレクトリとして扱えるので便利。
状況
作成する場所 | シンボリックリンク mklink (/d) @su | ジャンクション mklink /j |
RAMメモリ | × このデバイスでは、シンボリック リンクがサポートされていません。 | × ローカル ボリュームは、操作を完了する必要があります。 |
NTFS | 〇 | 〇 |
状況として、NTFSならOK。RAMディスクが作成できなかったのはFATだったからと思われる。
作成するターゲット | シンボリックリンク | ジャンクション |
ディレクトリ | 〇 A <<===>> t:\B のシンボリック リンクが作成されました | 〇 A <<===>> t:\B のジャンクションが作成されました |
ファイル | 〇 同上 | × ローカル ボリュームは、操作を完了する必要があります。 |
ネットワーク SMB フォルダ | 〇 A <<===>> \192.168.1.254\B のシンボリック リンクが作成されました | 〇 A <<===>> \192.168.1.254\B のジャンクションが作成されました (一度だけ アクセスが拒否されました。) |
ネットワーク SMB ファイル | 〇 A <<===>> \192.168.1.254\B.xls のシンボリック リンクが作成されました | 〇 A <<===>> \192.168.1.254\B.xls のジャンクションが作成されました |
RAMメモリ ディレクトリ | 〇 A <<===>> t:\S のシンボリック リンクが作成されました | 〇 A <<===>> t:\S のジャンクションが作成されました |
RAMメモリ ファイルり | 〇 A <<===>> t:\S.ini のシンボリック リンクが作成されました | 〇 A <<===>> t:\S.ini のジャンクションが作成されました |
管理者モードで実行しているが、ローカルボリュームのファイルだけが作成できなかった不思議な点。
使用してのシンボリックとジャンクションの違いの感覚は無い
XP時代の AutoCAD2000 から Office 2013 まで既に一年以上運用しているが(now 2022-08-24)、特に違いが無い。
両方あると Everything が結果をそれぞれ二行だすのでシンボリックリンクを残そうと思う。