DriveInfo.GetDrives DriveInfo.GetDrives DriveInfo.GetDrives DriveInfo.GetDrives Method

定義

擷取電腦上所有邏輯磁碟的磁碟名稱。Retrieves the drive names of all logical drives on a computer.

public:
 static cli::array <System::IO::DriveInfo ^> ^ GetDrives();
public static System.IO.DriveInfo[] GetDrives ();
static member GetDrives : unit -> System.IO.DriveInfo[]
Public Shared Function GetDrives () As DriveInfo()

傳回

DriveInfo 型別的陣列,表示電腦上的邏輯磁碟。An array of type DriveInfo that represents the logical drives on a computer.

例外狀況

發生 I/O 錯誤 (例如,磁碟錯誤或磁碟尚未就緒)。An I/O error occurred (for example, a disk error or a drive was not ready).

呼叫端沒有必要的使用權限。The caller does not have the required permission.

範例

下列程式碼範例示範如何使用DriveInfo類別來顯示目前系統上所有磁片磁碟機的相關資訊。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.
*/
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.

備註

這個方法會抓取電腦上的所有邏輯磁碟機名稱。This method retrieves all logical drive names on a computer. 您可以使用此資訊來逐一查看陣列, 並使用其他DriveInfo方法和屬性取得磁片磁碟機的資訊。You can use this information to iterate through the array and obtain information on the drives using other DriveInfo methods and properties. 使用屬性來測試磁片磁碟機是否已就緒, 因為在尚未就緒的磁片磁碟機上使用此方法將會IOException擲回。 IsReadyUse the IsReady property to test whether a drive is ready because using this method on a drive that is not ready will throw a IOException.

安全性

SecurityPermission
用於呼叫未受管理的程式碼, 例如使用平台叫用或 COM Interop 呼叫機器碼。for calling unmanaged code, such as calling native code with platform invoke or COM interop. 相關聯的列舉:UnmanagedCodeAssociated enumeration: UnmanagedCode

適用於

另請參閱