如何获取每个文件夹的文件计数

时间:2019-05-08 22:35:13

标签: c#

假设我有一个文件夹Main,而在Main里面我还有另外2个文件夹 文件夹1是Test,在Test中有2个文件。 文件夹2为Test2,在Test2中有3个文件。

现在我想要一个输出,如:

    Name: Test  Count: 2
    Name: Test2 Count: 3

我知道我可以使用Directory.GetFiles(@"c:\Dir\", "*.", SearchOption.AllDirectories);获取所有文件 但是我如何获得此输出?

1 个答案:

答案 0 :(得分:0)

只需使用Directory.GetDirectories遍历每个子目录:

foreach(var subdirectory in Directory.GetDirectories(@"c:\Dir\"))
//foreach(var subdirectory in Directory.GetDirectories(@"c:\Dir\", "*", SearchOption.AllDirectories))
{
    // using GetFileName because subdirectory doesnt end with "\"
    var name = Path.GetFileName(subdirectory);
    var count = Directory.GetFiles(subdirectory, "*", SearchOption.AllDirectories).Length;

    Console.WriteLine($"Name: {name} Count: {count}");
}

如果您还需要列出嵌套目录,请使用注释行。