可能的重复:
如何在 C# 中获取目录大小(目录中的文件)? https://stackoverflow.com/questions/1118568/how-do-i-get-a-directory-size-files-in-the-directory-in-c
在 vbscript 中,获取以 GB 或 MB 为单位的文件夹大小非常简单:
Set oFSO = CreateObject("Scripting.FileSystemObject")
Dim fSize = CInt((oFSO.GetFolder(path).Size / 1024) / 1024)
WScript.Echo fSize
在 C# 中,对于我的所有搜索,我所能想到的就是对所有子文件夹中的每个文件大小进行冗长、复杂的递归搜索,然后将它们全部添加到最后。
难道就没有别的办法了吗?
这个怎么样:
private static long GetDirectorySize(string folderPath)
{
DirectoryInfo di = new DirectoryInfo(folderPath);
return di.EnumerateFiles("*", SearchOption.AllDirectories).Sum(fi => fi.Length);
}
from here https://stackoverflow.com/a/5942656/74757.
这将为您提供以字节为单位的大小;您必须将其“美化”为 GB 或 MB。
NOTE:这仅适用于 .NET 4+。
EDIT:更改了通配符搜索"*.*"
to "*"
根据我链接的线程中的评论。这应该将其可用性扩展到其他操作系统(例如,如果使用 Mono)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)