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