//http://bbinjest.codeplex.com/ //Apache License 2.0 (Apache) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Globalization; namespace BneyBaruch.Ingest.Utils.FileSystem { public static class DriveUtil { /// <summary> /// Check drive free space. /// </summary> /// <param name="driveName">Drive name to check free space.</param> /// <param name="minimumSpace">Minimum space in bytes.</param> /// <returns></returns> public static bool IsEnoughSpace(string driveName, long minimumSpace) { if (string.IsNullOrEmpty(driveName)) throw new ArgumentNullException("driveName"); string formattedDriveName = driveName + @":"; DriveInfo[] drives = DriveInfo.GetDrives(); DriveInfo drive = drives.FirstOrDefault( delegate(DriveInfo innerDrive) { return string.Compare(innerDrive.Name, formattedDriveName, true) == 0; } ); if (drive == null) throw new DriveNotFoundException(string.Format("Drive {0} could not be found.", formattedDriveName)); if( !drive.IsReady) throw new DriveNotFoundException(string.Format("Drive {0} is not ready.", formattedDriveName)); return drive.TotalFreeSpace > minimumSpace; } } }
Author: coder
Root Directory
using System; using System.IO; class MainClass { static void Main(string[] args) { if (args.Length == 1) { DriveInfo drive = new DriveInfo(args[0]); Console.Write("Free space in {0}-drive (in kilobytes): ", args[0]); Console.WriteLine(drive.AvailableFreeSpace / 1024); return; } foreach (DriveInfo drive in DriveInfo.GetDrives()) { Console.WriteLine("{0} - {1} KB",drive.RootDirectory, drive.AvailableFreeSpace / 1024 ); } } }
Drive Type
using System; using System.IO; class MainClass { static void Main(string[] args) { FileInfo file = new FileInfo("c:a.txt"); // Display drive information. DriveInfo drv = new DriveInfo(file.FullName); Console.Write("Drive: "); Console.WriteLine(drv.Name); if (drv.IsReady) { Console.Write("Drive type: "); Console.WriteLine(drv.DriveType.ToString()); } } }
Available Free Space
using System; using System.IO; class MainClass { static void Main(string[] args) { FileInfo file = new FileInfo("c:a.txt"); // Display drive information. DriveInfo drv = new DriveInfo(file.FullName); Console.Write("Drive: "); Console.WriteLine(drv.Name); if (drv.IsReady) { Console.Write("Drive free space: "); Console.WriteLine(drv.AvailableFreeSpace.ToString()); } } }
Drive Format
using System; using System.IO; class MainClass { static void Main(string[] args) { FileInfo file = new FileInfo("c:a.txt"); DriveInfo drv = new DriveInfo(file.FullName); Console.Write("Drive: "); Console.WriteLine(drv.Name); if (drv.IsReady) { Console.WriteLine(drv.DriveFormat.ToString()); } } }
Is Drive Ready
using System; using System.Collections.Generic; using System.Text; using System.IO; class Program { static void Main(string[] args) { // Get info regarding all drives. DriveInfo[] myDrives = DriveInfo.GetDrives(); // Now print stats. foreach (DriveInfo d in myDrives) { Console.WriteLine("Name: {0}", d.Name); Console.WriteLine("Type: {0}", d.DriveType); if (d.IsReady) { Console.WriteLine("Free space: {0}", d.TotalFreeSpace); Console.WriteLine("Format: {0}", d.DriveFormat); Console.WriteLine("Label: {0} ", d.VolumeLabel); } } Console.ReadLine(); } }
DriveInfo(file.FullName) Name
using System; using System.IO; class MainClass { static void Main(string[] args) { FileInfo file = new FileInfo("c:a.txt"); // Display drive information. DriveInfo drv = new DriveInfo(file.FullName); Console.Write("Drive: "); Console.WriteLine(drv.Name); } }