1.前言:
計算某個檔案夾下的檔案大小,並可以用不同的單位(KB,MB,GB)顯示。
2.說明:
有關Directory類別可參考:
http://msdn.microsoft.com/en-us/library/system.io.directory(v=vs.100).aspx
程式碼:
public enum SizeFormat { Bytes, KiloBytes, MegaBytes, GigaBytes } public static double DirectorySize(DirectoryInfo directoryInfo) { double Size = 0; FileInfo[] fi = directoryInfo.GetFiles(); foreach (FileInfo f in fi) { Size += f.Length; } DirectoryInfo[] dis = directoryInfo.GetDirectories(); foreach (DirectoryInfo d in dis) { if (d.Name != "System Volume Information" && d.Name.Substring(0, 1) != "$")//避開此類folder權限問題 Size += DirectorySize(d); } return (Size); }
3.應用:
DirectoryInfo d = new DirectoryInfo(@"D:\temp");//輸入檔案夾 double size = DirectorySize(d); SizeFormat sizeFormat = SizeFormat.KiloBytes; switch (sizeFormat) { case SizeFormat.Bytes: size = size / Math.Pow(1024, 0); break; case SizeFormat.KiloBytes: size = size / Math.Pow(1024, 1); break; case SizeFormat.MegaBytes: size = size / Math.Pow(1024, 2); break; case SizeFormat.GigaBytes: size = size / Math.Pow(1024, 3); break; } MessageBox.Show(size.ToString());
文章標籤
全站熱搜