C# 获取文件夹和文件列表,与Windows系统看到的保持一致(包括隐藏文件)
Windows系统中有很多系统隐藏的文件,如果不经过筛选,就会查出来多很多文件夹和文件。所以需要过滤掉FileAttributes.Hidden | FileAttributes.System的文件夹和文件
// 创建一个DirectoryInfo对象 var directoryInfo = new DirectoryInfo(folderPath); var directories = directoryInfo.GetDirectories().ToList(); directories = directories.Where(t => (t.Attributes & (FileAttributes.Hidden | FileAttributes.System)) != (FileAttributes.Hidden | FileAttributes.System)).ToList(); directories = directories.OrderBy(t => t.Name).ToList(); var files = directoryInfo.GetFiles().ToList(); if (files.Count == 0) return diskInfo; files = files.Where(t => (t.Attributes & (FileAttributes.Hidden | FileAttributes.System)) != (FileAttributes.Hidden | FileAttributes.System)).ToList(); files = files.OrderBy(t => t.Name).ToList();