如何根据文件名和/或扩展名检索文件夹的所有文件大小?

时间:2012-03-01 03:03:16

标签: c# arrays linq

我有一个用户导航到特定文件夹的表单。他们导航到的文件夹里面会有很多文件夹,在几个级别的文件夹中会有一个名为“file.zip”的zip文件。所以这意味着将会有许多文件夹,其中包含“file.zip”。我想扫描所选的文件夹以获取所有这些“file.zip”文件。我最终只会查找大小为0kb或为空的“file.zip”文件。我想我需要使用LINQ来返回父文件夹中的文件列表,如下所示:

 string[] files = Directory.GetFiles(txtbxOldFolder.Text)
                      .Select(f => Path.GetFiles(f))
                      .ToArray();

但我也需要各自的大小,以便稍后我可以创建任何空文件或显示大小为0kb的zip文件的目录列表。我想也许有一种方法可以根据名称(file.zip)返回目录和每个文件的大小,这样我以后可以通过数组并为那些file.zips创建目录日志是空的/大小为0kb。

1 个答案:

答案 0 :(得分:2)

var directory = @"c:\myfolder";
var files = Directory.GetFiles(directory, "file.zip", SearchOption.AllDirectories)
.Select(name => new FileInfo(name))
.Where(f => f.Length == 0).ToArray();