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;
}
}
}
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;
}
}
}
相关文章推荐
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台一(C#开发)-系统功能介绍及展示
- linux omfs文件系统利用bitmap管理空闲磁盘空间
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十六(C#开发)-空间数据编辑(上)
- 查看文件以及磁盘空间大小管理
- C#在Linux下获取文件夹信息(所在磁盘总大小,使用空间,已用空间,使用率)
- 磁盘空间的动态管理<Lvm>
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台四(C#开发)-通用数据管理模块
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十(C#开发)-空间数据导入RDBMS上-MDB格式
- 黑马程序员之C#学习笔记:Visual Studio 2010生成解决方案时,提示磁盘空间不足!
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十七(C#开发)-空间数据编辑(下)
- 数据库管理——Powershell——使用Powershell脚本找出消耗最多磁盘空间的文件
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十三(C#开发)-空间数据导出
- C#获取磁盘空间信息的几个方法
- (五)磁盘存储空间的管理
- Ubuntu 查看文件以及磁盘空间大小管理
- Jenkins遇到问题二:Jenkins服务器磁盘空间管理策略
- Jenkins服务器磁盘空间管理策略
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台二(C#开发)-登录功能模块
- C# 获取磁盘空间信息
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-AE常用操作代码