C#判断磁盘剩余空间是否足够
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | public static bool GetDiskInfo() { if ( false == strCheckFreeSpace.Equals( "1" )) return true ; try { //获得盘符HARDDISK var index = strSaveFolder.Trim().IndexOf( ':' ); var HARDDISK = strSaveFolder.Trim().Substring(0, index + 1); SelectQuery selectQuery = new SelectQuery( "select * from win32_logicaldisk" ); ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery); ManagementObjectCollection diskcollection = searcher.Get(); if (diskcollection != null && diskcollection.Count > 0) { foreach (ManagementObject item in searcher.Get()) { int nType = Convert.ToInt32(item[ "DriveType" ]); if (nType != Convert.ToInt32(DriveType.Fixed)) { continue ; } else { if (item[ "DeviceID" ].ToString().ToUpper() == HARDDISK) { double bytes = Convert.ToDouble(item[ "FreeSpace" ]); var result = bytes / Math.Pow(1024, 3); if (result < Int32.Parse(你想要规定的gb数)) { return false ; } } } } } } catch (Exception) { return false ; } return true ; } |