DriveInfo Class
Provides access to information on a drive.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | DriveInfo(String) | Provides access to information on the specified drive. |
| Name | Description | |
|---|---|---|
![]() | 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. |
| Name | Description | |
|---|---|---|
![]() | 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() | |
![]() | ToString() | Returns a drive name as a string.(Overrides Object.ToString().) |
| Name | Description | |
|---|---|---|
![]() ![]() | ISerializable.GetObjectData(SerializationInfo, StreamingContext) | Populates a SerializationInfo object with the data needed to serialize the target object. |
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 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 == true) { 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. */
for accessing directory information. The class constructor requires this permission. Associated enumeration: PathDiscovery.
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.




