Edit

Share via


DriveInfo Class

Definition

Provides access to information on a drive.

public ref class DriveInfo sealed : System::Runtime::Serialization::ISerializable
public ref class DriveInfo sealed
public sealed class DriveInfo : System.Runtime.Serialization.ISerializable
public sealed class DriveInfo
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class DriveInfo : System.Runtime.Serialization.ISerializable
type DriveInfo = class
    interface ISerializable
type DriveInfo = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type DriveInfo = class
    interface ISerializable
Public NotInheritable Class DriveInfo
Implements ISerializable
Public NotInheritable Class DriveInfo
Inheritance
DriveInfo
Attributes
Implements

Examples

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;
using System.IO;

class Test
{
    public static void Main()
    {
        DriveInfo[] allDrives = DriveInfo.GetDrives();

        foreach (DriveInfo d in allDrives)
        {
            Console.WriteLine("Drive {0}", d.Name);
            Console.WriteLine("  Drive type: {0}", d.DriveType);
            if (d.IsReady)
            {
                Console.WriteLine("  Volume label: {0}", d.VolumeLabel);
                Console.WriteLine("  File system: {0}", d.DriveFormat);
                Console.WriteLine(
                    "  Available space to current user:{0, 15} bytes",
                    d.AvailableFreeSpace);

                Console.WriteLine(
                    "  Total available space:          {0, 15} bytes",
                    d.TotalFreeSpace);

                Console.WriteLine(
                    "  Total size of drive:            {0, 15} bytes ",
                    d.TotalSize);
            }
        }
    }
}
/*
This code produces output similar to the following:

Drive A:\
  Drive type: Removable
Drive C:\
  Drive type: Fixed
  Volume label:
  File system: FAT32
  Available space to current user:     4770430976 bytes
  Total available space:               4770430976 bytes
  Total size of drive:                10731683840 bytes
Drive D:\
  Drive type: Fixed
  Volume label:
  File system: NTFS
  Available space to current user:    15114977280 bytes
  Total available space:              15114977280 bytes
  Total size of drive:                25958948864 bytes
Drive E:\
  Drive type: CDRom

The actual output of this code will vary based on machine and the permissions
granted to the user executing it.
*/
Imports System.IO

Class Test
    Public Shared Sub Main()
        Dim allDrives() As DriveInfo = DriveInfo.GetDrives()

        Dim d As DriveInfo
        For Each d In allDrives
            Console.WriteLine("Drive {0}", d.Name)
            Console.WriteLine("  Drive type: {0}", d.DriveType)
            If d.IsReady = True Then
                Console.WriteLine("  Volume label: {0}", d.VolumeLabel)
                Console.WriteLine("  File system: {0}", d.DriveFormat)
                Console.WriteLine( _
                    "  Available space to current user:{0, 15} bytes", _
                    d.AvailableFreeSpace)

                Console.WriteLine( _
                    "  Total available space:          {0, 15} bytes", _
                    d.TotalFreeSpace)

                Console.WriteLine( _
                    "  Total size of drive:            {0, 15} bytes ", _
                    d.TotalSize)
            End If
        Next
    End Sub
End Class
'This code produces output similar to the following:
'
'Drive A:\
'  Drive type: Removable
'Drive C:\
'  Drive type: Fixed
'  Volume label: 
'  File system: FAT32
'  Available space to current user:     4770430976 bytes
'  Total available space:               4770430976 bytes
'  Total size of drive:                10731683840 bytes 
'Drive D:\
'  Drive type: Fixed
'  Volume label: 
'  File system: NTFS
'  Available space to current user:    15114977280 bytes
'  Total available space:              15114977280 bytes
'  Total size of drive:                25958948864 bytes 
'Drive E:\
'  Drive type: CDRom
'
'The actual output of this code will vary based on machine and the permissions
'granted to the user executing it.

Remarks

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.

Constructors

DriveInfo(String)

Creates a new instance of the DriveInfo class.

Properties

AvailableFreeSpace

Indicates the amount of available free space on a drive, in bytes.

DriveFormat

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

DriveType

Gets the drive type, such as CD-ROM, removable, network, or fixed.

IsReady

Gets a value that indicates whether a drive is ready.

Name

Gets the name of a drive, such as C:\.

RootDirectory

Gets the root directory of a drive.

TotalFreeSpace

Gets the total amount of free space available on a drive, in bytes.

TotalSize

Gets the total size of storage space on a drive, in bytes.

VolumeLabel

Gets or sets the volume label of a drive.

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetDrives()

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

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a drive name as a string.

Explicit Interface Implementations

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Populates a SerializationInfo object with the data needed to serialize the target object.

Applies to