文档章节

c#文件夹大小搜索程序

l
 llkzqk
发布于 2016/01/31 15:02
字数 267
阅读 6
收藏 0

一个用于磁盘清理的文件夹大小搜索程序,效果不错,留此奉上,以备再用。

说一下看点:主要是针对C盘的清理,由于有许多文件夹是有安全访问权限的,使用了两个

try catch 嵌套,DirectoryInfo 有些弱且需要遍历,采用了 Scripting.FileSystemObject,对能找到

子目录但不能获得大小的情况做进一步的递归,对不能获得子目录的就放弃了。时间紧更多的细节就

懒得考虑了,主要是简单便捷,输出文件夹大小信息后就可以手工直观的删除不需要的文件夹,给C盘

留出更多的空间了。

        static StringBuilder sb = new StringBuilder();

        static void Main(string[] args)

        {

            Scripting.FileSystemObject fso = new Scripting.FileSystemObject();

            var folder = fso.GetFolder(@"C:\");

            Listfolder(folder, fso);

            File.WriteAllText(@"E:\test\filelist.txt", sb.ToString());

            Console.ReadKey();

        }

        public static void Listfolder(Scripting.Folder folder, Scripting.FileSystemObject fso)

        {

            try

            {

                foreach (Scripting.Folder it in folder.SubFolders)

                {

                    int size = 0;

                    try

                    {

                        size = it.Size;

                    }

                    catch (Exception err)

                    {

                        Console.WriteLine("size err " + it.Path);

                        Listfolder(it, fso);

                    }

                    if (size > 100000000)

                    {

                        string str = it.Path + "|" + size / 1000000;

                        sb.AppendLine(str);

                        Listfolder(it, fso);

                    }

                }

            }

            catch(Exception err)

            {

                Console.WriteLine("sub err " + folder.Path);

            }

        }



© 著作权归作者所有

共有 人打赏支持
l
粉丝 0
博文 1
码字总数 267
作品 0
昆明
File System & App setting(文件系统和应用设置)

一、手机上的数据存储 由于Windows Phone的安全设置,每个应用程序只允许访问自己特定的存储空间,并不能访问操作系统或者其他应用的文件,当安装一个Windows Phone应用程序之后,该应用就会...

失足处男的倒霉孩子
2013/12/27
964
0
C#脱离IronPython中执行python脚本

给客户安装程序时除了安装.net framework还要安装IronPython,是不是觉得很麻烦? 上面这一切都弱爆了,下面我来介绍一种不安装IronPython只需要引入几个IronPython的dll就可以在c#中执行pyt...

gsbhzh
2014/12/27
0
0
C# 搜索文字在文件、文件夹中的出现位置

〇、关于本文 在linux中查询文字在文件中出现的位置,或者在一个文件夹中出现的位置,用命令 就可以了。今天做了一个C#程序,专门用来找出一个指定字符串在文件中的位置,与一个指定字符串在...

北风其凉
2014/07/04
0
0
嵌入式开发常用工具(windows)

到今年已经做嵌入式开发4个年头,以下是windows系统下进行嵌入式开发常用到的工具,都是比较经典的工具,在此做个记录。 远程终端工具 MobaXterm 远程连接终极工具,提供了主流的远程工具(SS...

好好编程
2017/11/19
0
0
Python的模块引用和查找路径

模块间相互独立相互引用是任何一种编程语言的基础能力。对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义。对于编...

qingspace
2016/06/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【挑战剑指offer】系列03:逆序打印单链表

本系列的算法原题来自于“牛客网-剑指offer”,写这个板块,不仅仅是解决算法问题本身,更是手动提高难度、自行变式,思考更多的解决方案,以带给自己一些启发。 1. 【逆序打印单链表】原始题...

LinkedBear
37分钟前
2
0
Linux内存布局

今天这篇文章主要是我之前看Linux内核相关知识和博客Gustavo Duarte中。我主要是看了这篇博客,并且结合之前的知识,对内存管理的的理解又上升了一个档次。所以想通过这篇文章总结下。 我们先...

linuxprobe16
55分钟前
1
0
day94-20180921-英语流利阅读-待学习

记录死亡还是消费死者?自杀报道的媒体偏见 雪梨 2018-09-21 1.今日导读 自杀事件报道一直是新闻报道的重要部分,具有骇人听闻、吸引眼球的特点。可是在报道这些事件的时候,除了客观陈述事实...

飞鱼说编程
今天
4
0
如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
5
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部