Windowsでシンボリックリンク
Windowsの「ショートカット」は*.lnkファイル
- Windowsでリンクといえば、ファイルやフォルダを右クリックして「ショートカットを作成」すればファイルなどのリンクが作られる。
- が、単にリンク先が書かれた*.lnkというファイルが作られるだけで、ファイルなどの別名を付ける機能ではない。
「ジャンクション」
- Linuxのシンボリックリンク的な機能が実はWindows(というかNTFS)にも備わっている。
- 詳しくは http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%83%AA%E3%83%B3%E3%82%AF
- ジャンクションを作成するためのツール: http://technet.microsoft.com/ja-jp/sysinternals/bb896768%28en-us%29.aspx
使いどころ
UTF16の文字が含まれるパスを渡すと動かないツールを、無理やり動かしたいとき。
例えば、エンドユーザーが"C:\Documents and Settings\{UTF16の文字が含まれるユーザ名}\My Documents"配下に作業ファイルを置いている状況を考える。
UTF16に対応していないツールに、上のようなパスを渡すと動かないので、ファイルを移動しなくてはならない。
そこで、例えば
C:\temp
が
C:\Documents and Settings\{UTF16の文字が含まれるユーザ名}\My Documents
を指すようにジャンクションを張れば、ファイルを移動せずに動かせるようになる。
問題点
- 例えば以下が参考になります。
- 「WindowsXP、Windows2000のジャンクション機能は危険」 http://pentan.info/server/windows/junction_trouble.html