Nat*_*kle 5 c# asp.net directory size
可能重复:
如何在C#中获取目录大小(目录中的文件)?
在vbscript中,获取GB或MB的文件夹大小非常简单:
Set oFSO = CreateObject("Scripting.FileSystemObject")
Dim fSize = CInt((oFSO.GetFolder(path).Size / 1024) / 1024)
WScript.Echo fSize
Run Code Online (Sandbox Code Playgroud)
在C#中,通过我的所有搜索,我可以想到的是对所有子文件夹中的每个文件大小进行冗长,复杂,递归的搜索,然后在最后添加它们.
没有其他办法吗?
Cᴏʀ*_*ᴏʀʏ 22
这个怎么样:
private static long GetDirectorySize(string folderPath)
{
DirectoryInfo di = new DirectoryInfo(folderPath);
return di.EnumerateFiles("*", SearchOption.AllDirectories).Sum(fi => fi.Length);
}
Run Code Online (Sandbox Code Playgroud)
从这里开始.
这将为您提供以字节为单位的大小; 你将不得不将其"美化"为GB或MB.
注意:这仅适用于.NET 4+.
编辑:从改变了通配符搜索"*.*"到"*"按在线程的意见,而我联系.这应该将其可用性扩展到其他操作系统(例如,如果使用Mono).
| 归档时间: |
|
| 查看次数: |
12616 次 |
| 最近记录: |