C# 磁盘空间管理

    技术2022-05-11  14

    // Disk 取得磁盘空间 或 指定文件夹使用情况 using  System; using  System.IO; using  System.Management;  namespace  Host.AdminManager.Inc{ ///   <summary> ///  Disk 的摘要说明。 ///   </summary> public   class  Disk{ public  Disk(){ // //  TODO: 在此处添加构造函数逻辑 // } // 取得disk大小 public   string  DiskSize( string  path){ManagementObject size  =   new  ManagementObject( " win32_logicaldisk.deviceid= " + path);size.Get(); UInt64 b  =   1024 ;UInt64 a  =  (Convert.ToUInt64(size[ " Size " ]) / b) / b; return  a.ToString();} // 取得文件夹大小 public   string  size( string  path,  string  utterlyPath , out   int  chang){UInt64 t1024  =   1024 , t10  =   10 ;UInt64 v  =  FolderSize(path,utterlyPath);v  =  v / t1024;chang  =  Convert.ToInt32(v / t10); return  v.ToString();} public  UInt64 FolderSize( string  path,  string  utterlyPath){UInt64 Fsize  =   0 ; // try { Fsize  =  FolderFileSize(path);DirectoryInfo [] folders  =  ( new  DirectoryInfo(path)).GetDirectories(); foreach (DirectoryInfo folder  in  folders){ if  (folder.FullName  !=  utterlyPath)Fsize  +=  FolderSize(folder.FullName, utterlyPath);} // } // catch(Exception ex) // { // MessageBox.Show(ex.Message); // } return  Fsize;}  public  UInt64 FolderFileSize( string  path){UInt64 size  =   0 ; // try // { FileInfo [] files  =  ( new  DirectoryInfo(path)).GetFiles(); foreach (FileInfo file  in  files){size  +=  (UInt64)file.Length;} // } // catch(Exception ex) // { // MessageBox.Show(ex.Message); // } return  size;}}} 

    最新回复(0)