C# 磁碟空間管理

來源:互聯網
上載者:User

 

//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;
}
}
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.