//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;
}
}
}
ASP.NET & Csharp (C#)
ASP.NET & Csharp (C#) , Here you can find my posts about .NET c# .
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);
}
}