DriveInfo Class in C#

Developers and programmers have to handle with file system in their normal programming practice. Which includes accessing drives, folders and files for operation. System.IO namespace in .NET Framework provides many classes to work with the file system. One of the classes is DriveInfo class.

DriveInfo class is used to get information about computers system. This class models a drive and provides methods and properties to query for drive information.

Use DriveInfo to determine what drives are available, and what type of drives they are. You can also query to determine the capacity and available free space on the drive.

The following table describes some commonly used methods of DriveInfo class:




Determines whether the specified Object is equal to the current Object. (Inherited from Object.)


Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)


Retrieves the drive names of all logical drives on a computer.


Serves as a hash function for a particular type. (Inherited from Object.)


Gets the Type of the current instance. (Inherited from Object.)


Creates a shallow copy of the current Object. (Inherited from Object.)


Returns a drive name as a string. (Overrides Object.ToString().)

The following table describes some commonly used properties of DriveInfo class:




Indicates the amount of available free space


Gets the name of the file system, such as NTFS or


Gets the drive type.


Gets a value indicating whether a drive is ready.


Gets the name of a drive.


Gets the root directory of a drive.


Gets the total amount of free space available


Gets the total size of storage space on a drive.


Gets or sets the volume label of a drive.

The following code example demonstrates the use of the DriveInfo class to display information about all of the drives on the current system.

using System.IO;
namespace DriveInfo_example
    class Program
        static void Main(string[] args)
            // GetDrives() method retrieves the drive names of all logical drives on a computer. 
            DriveInfo[] drives = DriveInfo.GetDrives();
            foreach (DriveInfo drive in drives)
                if (drive.IsReady)
                    Console.WriteLine("Drive Name : " + drive.Name);
                    Console.WriteLine("Drive Volume name : " + drive.VolumeLabel);
                    Console.WriteLine("Drive Format : " + drive.DriveFormat);
                    Console.WriteLine("Drive Type : " + drive.DriveType);
                    Console.WriteLine("Drive root directory name : " + drive.RootDirectory);
                    Console.WriteLine("Drive free space: " + drive.AvailableFreeSpace);
                    Console.WriteLine("Total Free space on the drive : " + drive.TotalFreeSpace);
                    Console.WriteLine("Total disk size : " + drive.TotalSize);

In the DriveInfo classes there are two very similar properties, AvailableFreeSpace and TotalFreeSpace. Most of the cases you will find same number output.

AvailableFreeSpace property indicates the amount of free space available on the drive. While the TotalFreeSpace number because this property takes into account disk quotas.

What is Disk Quotas?

To monitoring the disk space used on a system, disk space can be restricted by implementing disk quotas so that the system administrator is alerted before a user consumes too much disk space or a partition becomes full.

Disk quotas can be configured for individual users as well as user groups. This kind of flexibility makes it possible to give each user a small quota to handle file, while allowing the projects they work on to have more sizable quotas.

To view disk quota information using the windows interface

  1. Open My Computer.

  2. Right-click the volume for which you want to view quota information, and then click Properties.

  3. In the Properties dialog box, click the Quota tab.

  4. On the Quota tab, click Quota Entries.


I hope that this article would have helped you in understanding DriveInfo Class. Your feedback and constructive contributions are welcome.

Similar Articles