C# 查找没有系统和隐藏文件夹的目录
C# Find Directories Without System and Hidden Folder
我想获取一个列表中的所有目录,不带系统和驱动器上的隐藏标记文件夹。
示例:
var Dizinler = Directory.EnumerateDirectories("C:\")
.Select(s => new DirectoryInfo(s))
.Where(s => !s.Attributes.HasFlag(FileAttributes.Directory | FileAttributes.System | FileAttributes.Hidden) )
.Select(s=> s.FullName).ToArray();
但是,返回的结果仍然包含隐藏文件夹和系统文件夹。
看来,你不应该合并所有属性:
var Dizinler = Directory.EnumerateDirectories("C:\")
.Select(s => new DirectoryInfo(s))
.Where(s => s.Attributes.HasFlag(FileAttributes.Directory))
.Where(s => !s.Attributes.HasFlag(FileAttributes.System))
.Where(s => !s.Attributes.HasFlag(FileAttributes.Hidden))
.Select(s=> s.FullName).ToArray();
问题是|
。这样做:
var Dizinler = Directory.EnumerateDirectories("C:\")
.Select(s => new DirectoryInfo(s)).Where(s => s.Attributes.HasFlag(FileAttributes.Directory) &&
!s.Attributes.HasFlag(FileAttributes.System) && !s.Attributes.HasFlag(FileAttributes.Hidden) )
.Select(s=> s.FullName).ToArray();
我想获取一个列表中的所有目录,不带系统和驱动器上的隐藏标记文件夹。
示例:
var Dizinler = Directory.EnumerateDirectories("C:\")
.Select(s => new DirectoryInfo(s))
.Where(s => !s.Attributes.HasFlag(FileAttributes.Directory | FileAttributes.System | FileAttributes.Hidden) )
.Select(s=> s.FullName).ToArray();
但是,返回的结果仍然包含隐藏文件夹和系统文件夹。
看来,你不应该合并所有属性:
var Dizinler = Directory.EnumerateDirectories("C:\")
.Select(s => new DirectoryInfo(s))
.Where(s => s.Attributes.HasFlag(FileAttributes.Directory))
.Where(s => !s.Attributes.HasFlag(FileAttributes.System))
.Where(s => !s.Attributes.HasFlag(FileAttributes.Hidden))
.Select(s=> s.FullName).ToArray();
问题是|
。这样做:
var Dizinler = Directory.EnumerateDirectories("C:\")
.Select(s => new DirectoryInfo(s)).Where(s => s.Attributes.HasFlag(FileAttributes.Directory) &&
!s.Attributes.HasFlag(FileAttributes.System) && !s.Attributes.HasFlag(FileAttributes.Hidden) )
.Select(s=> s.FullName).ToArray();