Windowsでシンボリックリンク

Windows Vista(以降?)ではシンボリックリンクが作成できる。
ただし、cmdの組み込みなのか、mklink.exe っぽいものは見つからず、cygwinから使うことはできなかった。

K:\hoge>mklink
シンボリック リンクを作成します。

MKLINK [[/D] | [/H] | [/J]] リンク ターゲット

        /D          ディレクトリのシンボリック リンクを作成します。既定では、
                    ファイルのシンボリック リンクが作成されます。
        /H          シンボリック リンクではなく、ハード リンクを作成します。
        /J          ディレクトリ ジャンクションを作成します。
        リンク      新しいシンボリック リンク名を指定します。
        ターゲット  新しいリンクが参照するパス (相対または絶対)
                    を指定します。

K:\hoge>mklink /D lib ..\lib
lib <<===>> ..\lib のシンボリック リンクが作成されました

ln と比べると、リンクとターゲットの順序が逆。cygwinで ln を使いシンボリックリンクを張るとcygwin外のアプリからはリンクとして見えないが、mklink 作成するとcygwin外のアプリでもちゃんとリンクとして見える。

参考:Windows Vista/Windows Server 2008でシンボリック・リンクを作成する − @IT