0


    var path = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache);
    var dInfo = new DirectoryInfo(path);
    foreach (FileInfo f in dInfo.GetFiles())
    {
        Console.WriteLine(f.ToString()); 
    }


これにより、「desktop.ini」というタイトルのファイルが 1 つだけ出力されます。インターネット一時ファイルが仮想フォルダーであることは知っています。仮想フォルダー内のファイルを反復処理するにはどうすればよいですか?

4

1 に答える 1

5

コードでアクセスするのは、最上位のフォルダーです。すべてのファイルを反復処理するには、Temporary Internet Files 内のすべてのサブフォルダーを考慮する必要があります。

    static void Main(string[] args)
    {
        var path = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache);
        var dInfo = new DirectoryInfo(path);

        DoStuff(dInfo);

        Console.ReadLine();
    }

    static void DoStuff(DirectoryInfo directory)
    {
        foreach (var file in directory.GetFiles())
        {
            Console.WriteLine(file.FullName);
        }

        foreach (var subDirectory in directory.GetDirectories())
        {
            DoStuff(subDirectory);
        }
    }
于 2013-08-09T20:10:48.957 に答える