![]() |
1
78
不,这看起来像 recommended way 要计算目录大小,请使用以下相关方法:
哪里
|
![]() |
2
35
|
![]() |
3
26
我不相信有一个Win32 API来计算一个目录所消耗的空间,尽管在这一点上我需要纠正。如果有的话,我会假设Explorer会使用它。如果在资源管理器中获得大目录的属性,则获得文件夹大小所需的时间与它包含的文件/子目录的数量成正比。
|
![]() |
4
16
|
![]() |
5
15
真正的问题是, 你打算用这个尺码做什么四
你的
问题是像这样的“文件”
你的
第三
问题是“文件”可以
(“硬链接”)。
你的
问题是,“文件”(或目录)实际上可能不是文件(或目录):
你的 是因为有一些“过滤”驱动程序可以生成某些文件或目录 看 就像实际的文件或目录,即使它们不是。例如,可以使用名为ImageX的工具将Microsoft的WIM图像文件(经过压缩)装载到文件夹中,以及
你的
第六
问题是每个文件都需要元数据。
|
![]() |
6
11
下面是这个扩展方法背后的代码
|
![]() |
7
6
看起来,以下方法比递归函数执行任务更快:
一个简单的控制台应用程序测试表明,这个循环对文件求和的速度比递归函数快,并且提供了相同的结果。您可能希望使用LINQ方法(如Sum())来缩短此代码。 |
![]() |
8
5
更快!添加COM引用“Windows脚本主机对象…”
|
![]() |
9
5
这个解决方案非常有效。
|
![]() |
10
4
直到最近,我一直在摆弄VS2008和LINQ,这个紧凑而简短的方法对我来说非常有用(例如在VB.NET中;当然需要LINQ/.NET FW 3.5+):
我不是C#专家,但您可以在C上添加我的命名空间# this way . 我认为这种获得文件夹大小的方法不仅比郝的描述的方法更短更现代 link |
![]() |
11
4
这是计算目录大小的最佳方法。只有另一种方法仍然使用递归,但更易于使用,并且没有那么灵活。
|
![]() |
12
4
我使用相同的计数原则扩展了@Hao的答案,但支持更丰富的数据返回,因此您可以返回大小、递归大小、目录计数和递归目录计数,N个级别。
|
![]() |
13
3
|
![]() |
14
2
就最好的算法而言,你可能是对的。我建议您解开递归函数,使用自己的堆栈(记住,在.Net 2.0+应用程序中,堆栈溢出是世界末日,IIRC无法捕获异常)。 最重要的是,如果您在任何形式的UI中使用它,请将其放在工作线程上,该线程向UI线程发送更新信号。 |
![]() |
15
2
为了提高性能,可以使用任务并行库(TPL)。 以下是一个很好的示例: Directory file size calculation - how to make it faster?
|
![]() |
16
2
Trikaldarshi单线解决方案的替代方案。(它避免了构造FileInfo对象)
|
![]() |
17
2
使命感
更新:过滤器任务=” . |
![]() |
18
1
我想到的最快的方法是使用带有SearchOption.AllDirectories的EnumerateFiles。此方法还允许在浏览文件和计算大小时更新UI。长路径名不会导致任何问题,因为不会尝试为长路径名创建FileInfo或DirectoryInfo。在枚举文件时,即使文件名很长,只要起始目录名不太长,枚举文件返回的FileInfo也不会引起问题。未经授权的访问仍然存在问题。
|
![]() |
19
1
此.NET核心命令行应用程序在此计算给定路径的目录大小: https://github.com/garethrbrown/folder-size 关键的方法是递归地检查子目录以得出总大小。
|
![]() |
20
1
计算目录大小的多线程示例 Microsoft Docs ,哪个更快
到
|
![]() |
21
0
我试图改变样本(Alexandre Pepin和hao的回答) 原样
最后,您可以检查结果
这是SizeSuffix函数
|
![]() |
22
-3
|
![]() |
Community wiki · 需要改变的用户界面模式? 1 年前 |
![]() |
LITzman · 使用状态处理颜色主题更改 1 年前 |
![]() |
Community wiki · 进程。退出(0):输出消失? 2 年前 |
![]() |
arsaces · 将文本添加到特定文件的末尾 2 年前 |
![]() |
YGranja · 库<图形。h> MinGW-W64缺少 2 年前 |
![]() |
Felipe Palermo · Ctrl键仍被按下,按键事件() 3 年前 |
![]() |
HCJ · win cmd中的批处理脚本循环 3 年前 |