您的位置:首页 > 编程语言 > C#

C# 磁盘空间管理

2006-07-07 10:21 309 查看
//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;
}
}
}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  磁盘 c# string path disk system
相关文章推荐