当前位置: 首页 > news >正文

C# 获取磁盘空间大小的方法

方法一:利用System.IO.DriveInfo.GetDrives方法来获取

		/// 获取指定驱动器的空间总大小(单位为B)//////  只需输入代表驱动器的字母即可 (大写)///public static long GetHardDiskSpace(string str_HardDiskName){long totalSize= new long();str_HardDiskName=str_HardDiskName +":\\";System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();foreach (System.IO.DriveInfo drive in drives){if (drive.Name == str_HardDiskName){totalSize = drive.TotalSize / (1024 * 1024 * 1024);}}return totalSize;}        ////// 获取指定驱动器的剩余空间总大小(单位为B)//////  只需输入代表驱动器的字母即可///public static long GetHardDiskFreeSpace(string str_HardDiskName){long freeSpace = new long();str_HardDiskName = str_HardDiskName + ":\\";System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();foreach (System.IO.DriveInfo drive in drives){if (drive.Name == str_HardDiskName){freeSpace = drive.TotalFreeSpace / (1024 * 1024 * 1024);}}return freeSpace;}

方法二:利用ManagementClass(“Win32_LogicalDisk”)来获取

List<Dictionary<string, string>> diskInfoDic = new List<Dictionary<string, string>>();
ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk");
ManagementObjectCollection disks = diskClass.GetInstances();
foreach(ManagementObject disk in disks)
{Dictionary<string, string> diskInfo = new Dictionary<string, string>();try{// 磁盘名称diskInfo["Name"] =disk["Name"].ToString();// 磁盘描述diskInfo["Description"]=disk["Description"].ToString();// 磁盘总容量,可用空间,已用空间if (System.Convert.ToInt64(disk["Size"]) > 0){long totalSpace = System.Convert.ToInt64(disk["Size"]) / MB;long freeSpace = System.Convert.ToInt64(disk["FreeSpace"]) / MB;long usedSpace = totalSpace - freeSpace;diskInfo["totalSpace"]=totalSpace.ToString();diskInfo["usedSpace"]=usedSpace.ToString();diskInfo["freeSpace"]=freeSpace.ToString();}diskInfoDic.Add(diskInfo);}catch(Exception ex){Throw ex;}
}
http://www.lryc.cn/news/177532.html

相关文章:

  • JVM机制理解与调优方案
  • Django的设计模式及模板层
  • 写代码生成流程图
  • python reportlab生成pdf
  • 第一次作业题解
  • 美篇作文网教学资源源码-自带作文数据
  • 电脑软件:Duplicate Cleaner Pro 5.16 重复文件清理软件(附下载)
  • 支持笔记本电脑直插直充,TOWE 65W智能快充PDU超级插座
  • 部署Kafka
  • Open3D 进阶(11)使用GMM-Tree算法对点云配准
  • 算法刷题注意事项
  • 搭建自己的pypi服务器
  • ndoe.js、npm相关笔记
  • 如何使用ArcGIS Pro制作标准地图样式国界
  • 基于数学模型水动力模拟、水质建模、复杂河网构建技术在环境影响评价、入河排污口论证及防洪评价中的应用
  • 每天学习3个小时能不能考上浙大MBA项目?
  • NVM的下载安装和使用
  • iOS 视频压缩 mov转mp4 码率
  • 基于Esp32-cam在无外部 PIR 传感器情况下实现运动检测(一)
  • 安卓recovery流程分析(编译、界面、图片)
  • 唤醒手腕 2023年 B 站课程 Golang 语言详细教程笔记(更新中)
  • Qt获取屏幕(桌面)的大小或分辨率
  • 第4讲:vue内置命令(文本插值,属性绑定,v-text,v-html)
  • vue实现自动生成路由,非手动创建,含避坑点
  • 数据挖掘note(赵老师语录)
  • 秋招在线人才测评考什么内容?
  • LeetCode算法二叉树—236. 二叉树的最近公共祖先
  • Qt事件处理
  • 宝塔nginx搭建Ftp文件服务器
  • SAP和APS系统订单BOM核对(SAP配置BOM攻略九)