小编Zac*_*ach的帖子

在我的计算机上列出所有文件并按大小排序

最近我遇到的问题是我的硬盘驱动器变得令人讨厌,但在浏览了我的个人文件并删除/移动所有超大视频文件之后,我仍然有相当少量的ROM可用.所以我让我的程序员大脑工作,并决定自己而不是仔细检查每个文件夹和子文件夹,并使用Windows的右键单击+属性功能来查看文件有多大以及是否值得保留,我可以编写一个简单的代码,搜索我的计算机上的每个文件,通过其完整路径名将其放入列表,并将其文件大小放在它旁边,然后按文件大小从最大到最小排序.所以我跳上网,开始做研究,那就是当一切都为我扇动时.一世' 我发现了大量适用于他们指定任务的代码片段,但每当我尝试自己使用它们时,我遇到了大量的构建错误.那就是说,到目前为止我发现的最有希望的是:

const string dir = "C:\\";
string[] fns = Directory.GetFiles(dir);
var Sort = from fn in fns
           orderby new FileInfo(fn).Length descending
           select fn;
foreach (string n in Sort)
    Console.WriteLine(n);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这并没有触及任何子目录.我已经查明了如何从子目录中获取文件,但是试图将这些代码片段与这个代码片段集成起来比我想象的更麻烦.在隧道尽头看到光线的极少数情况下,我的程序会触及一个显然受管理员特权保护的目录(我是唯一的用户,因此也是我的计算机的管理员),并抛出像黑猩猩一样的错误动物园扔掉了粪便.

所以总的来说,我正在寻求帮助的是:-Program搜索我的计算机上的每个文件(我假设从"C:/"驱动器开始,我可以访问所有内容) - 获取每个文件,其大小,以及该文件的路径并将其抛出到列表/数组/无论什么 - 按文件大小从最大到最小排序 - 将此列表放入.txt文件中

最后一部分我实际上不需要帮助,因为我对Streamwriter类比较熟悉.如果文件/路径/大小的列表/数组/等都符合相同的模式并且可以转换为字符串,我甚至可以通过文件大小排序,使用准简单的解析算法来解决我的问题.因此,大约90.23%的问题只是获取所有文件,进入或忽略并继续使用受管理员保护的文件夹(我认为忽略它们将是最好的,因为我高度怀疑受保护文件夹中的任何内容都应该被删除.永远.)获取所有这些文件的路径和大小,并组织它们.

.net c# sorting directory filesize

4
推荐指数
2
解决办法
8709
查看次数

标签 统计

.net ×1

c# ×1

directory ×1

filesize ×1

sorting ×1