我需要获取包含子文件夹下文件的目录下所有ReadOnly文件的列表。 .NET Framework中是否存在比循环遍历所有文件更容易的内容?
答案 0 :(得分:5)
var path = @"C:\";//Some path
var readOnlyFiles = new DirectoryInfo(path)
.EnumerateFiles("*", SearchOption.AllDirectories)
.Where(file => file.Attributes.HasFlag(FileAttributes.ReadOnly));
答案 1 :(得分:1)
SearchOption.AllDirectories
中的System.IO.Directory.EnumerateFiles
中有一个标记,表示递归搜索。这是一种做事的方法:
var readOnlyFiles =
Directory.EnumerateFiles("base directory", "*", SearchOption.AllDirectories)
.Where(file => new FileInfo(file).IsReadOnly).ToList();