首页 > 系统相关 >C# 获取文件夹和文件列表,与Windows系统看到的保持一致(包括隐藏文件)

C# 获取文件夹和文件列表,与Windows系统看到的保持一致(包括隐藏文件)

时间:2023-09-27 10:13:57浏览次数:42  
标签:files 文件 ToList C# directories System Windows Hidden FileAttributes

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();

 

标签:files,文件,ToList,C#,directories,System,Windows,Hidden,FileAttributes
From: https://www.cnblogs.com/log9527blog/p/17732005.html

相关文章

  • C# BeginInvoke实现异步编程
    C#BeginInvoke实现异步编程-CSDN博客https://blog.csdn.net/Nire_Yeyu/article/details/133203267 C#BeginInvoke实现异步编程BeginInvoke实现异步编程的三种模式:1.等待模式在发起了异步方法以及做了一些其他处理之后,原始线程就中断并且等异步方法完成之后再继续;eg:usingS......
  • 【RocketMQ】主从同步实现原理
    RocketMQ支持集群部署来保证高可用。它基于主从模式,将节点分为Master、Slave两个角色,集群中可以有多个Master节点,一个Master节点可以有多个Slave节点。Master节点负责接收生产者发送的写入请求,将消息写入CommitLog文件,Slave节点会与Master节点建立连接,从Master节点同步消息数据。......
  • C# 枚举使用[Flags] 特性形成一个位掩码及判断是否存在某个枚举组合
    在C#中,通过给枚举类型添加 [Flags] 特性,可以指示该枚举类型是用于表示位标志的枚举。使用带有 [Flags] 特性的枚举类型允许将多个枚举值组合在一起,形成一个位掩码,提供了一种更方便和可读性更好的方式来表示多个选项的组合。当给枚举类型添加 [Flags] 特性后,可以使用按位或......
  • macOS Sonoma 14 (23A344) 正式版发布,ISO、IPSW、PKG 下载
    macOSSonoma今日推出,全面提升生产力和创意工作流macOSSonoma14(23A344)正式版发布,ISO、IPSW、PKG下载2023年9月26日(北京时间27日凌晨)macOSSonoma正式版现已发布。本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,......
  • macOS Sonoma 14 (23A344) 正式版 Boot ISO 原版可引导镜像下载
    macOSSonoma14(23A344)正式版BootISO原版可引导镜像下载2023年9月26日(北京时间27日凌晨)macOSSonoma正式版现已发布。本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows......
  • 进入BIOS推荐方法ThinkPad , ThinkCentre , ThinkStation
    描述用户可以轻松地调整计算机时间,日期,查看硬件配置信息(机器类型,序列号,内存和HDD等),设置无线或热键功能以及在BIOS下调整开机启动过程。推荐的进入BIOS方法如下所示。通过功能键(Fn)进入BIOS从Windows10进入BIOS从Windows8.1/8进入BIOS观看我们的视频:[视频]什么是BIOS?[视频]如......
  • windows使用git bash 无法交互键盘上下键移动选择选项的解决方法
    windows使用gitbash无法交互键盘上下键移动选择选项的解决方法 来源1、直接通过数字键来选择我们看到的效果是这样的,>这个右尖括号指向的是第一条。我们如果想选择node-sass,我们可以输入2,并回车来选中。如果想选择Default(Vue3Preview)([Vue3]bable,eslint),我们......
  • 视频监控/监控汇聚平台EasyCVR助力档案库房可视化管理的应用方案
    档案作为一种特殊的留存记录,具有珍贵的历史价值和文化遗产意义。它是人类活动真实的见证,记录了辉煌时刻和普通人的生活轨迹,对社会发展和经济建设起着举足轻重的作用。如今随着市场经济的不断发展和人类文明的飞速推进,档案的价值更加凸显,档案的储存和管理也备受关注。提升档案数字......
  • UCLASS是一种类说明符吗?
    我们知道,在java里有一个东西叫注解。注解的使用在spring框架里更是被用的出神入化。那么C++里呢?有没有对类进行说明的类型 第一种类说明符:Abstract。抽象类说明符将类声明为“抽象基类”,防止用户在虚幻编辑器中向世界添加此类的参与者,或在游戏中创建此类的实例。 第二种......
  • vscode编写markdown
    1.需求分析2.环境搭建1.需求分析最近在网上折腾了好久Markdown的写作环境,作为一个普通用户,总结一下个人对于Markdown写作环境的几点需求。由于本人刚接触Markdown不久,因此,需求也比较简单,想看具体搭建步骤的可以直接跳到第二章环境搭建:本地存储。这一点主要是出于隐私要......