Windowsでのシンボリックリンク

Windowsでもシンボリックリンクが貼れるらしいので、実際にシンボリックリンクを貼ってみて動作を試してみた。

「C:\_TestDir」というディレクトリ(フォルダ)の中に「Link」というD:\へのシンボリックリンクを作成した。

シンボリックリンクを作成したディレクトリ構成

画像に出てるとおりWindows付属のExplore1)秀丸ファイラーClassicでも同様に見えていました。 ではシンボリックリンクは左側ペイン(フォルダツリー)のとおりディレクトリとして扱われていました。
また、「Link」をダブルクリックした時にはリンク先のD:\の中身が見えていますが、アドレスバーの表示は「C:\_TestDir\Link1」となっています。

VisualStudio2008のC#で「C:\_TestDir」の中のファイルとフォルダ(ディレクトリ)を参照するプログラムを書いてみましたが、やはりシンボリックリンクはディレクトリとして扱われていました。また、VisualStudio2008のC#、VisualStudio2005のFortranで「C:\_TestDir\Link」にアクセスしてみたところ、問題なくリンク先にアクセスすることが出来ました。

static void Main(string[] args)
{
    string[] sFiles = System.IO.Directory.GetFiles(@"C:\_TestDir");
    Console.WriteLine("--File--");
    foreach (string sFile in sFiles)
    {
        Console.WriteLine(sFile);
    }

    string[] sDirs = System.IO.Directory.GetDirectories(@"C:\_TestDir");
    Console.WriteLine("\n--Directorys--");
    foreach (string sDir in sDirs)
    {
        Console.WriteLine(sDir);
    }
}
--File--
C:\_TestDir\File1.txt
C:\_TestDir\File2.txt

--Directorys--
C:\_TestDir\Dir1
C:\_TestDir\Dir2
C:\_TestDir\Link1

脚注

1. 秀丸ファイラーClassicでも同様に見えていました。