DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

現在のコンピュータのドライブをすべて取得する

論理ドライブ名を取得する

System.Environment.GetLogicalDrivesメソッド(あるいは、System.IO.Directory.GetLogicalDrivesメソッド)を使用してコンピュータの論理ドライブ名をすべて取得することが出来ます。論理ドライブ名は例えば「C:\」のようになります。

次の例ではListBox1にドライブの名前(「C:\」など)をすべて追加します。

VB.NET
コードを隠すコードを選択
'現在のコンピュータの論理ドライブの名前を取得
ListBox1.Items.AddRange(System.Environment.GetLogicalDrives())
C#
コードを隠すコードを選択
//現在のコンピュータの論理ドライブの名前を取得
ListBox1.Items.AddRange(System.Environment.GetLogicalDrives());

.NET Framework 2.0以降で、DriveInfoオブジェクトを取得する

.NET Framework 2.0からは、DriveInfo.GetDrivesメソッドにより、コンピュータ上のすべての論理ドライブのドライブをDriveInfoオブジェクトとして取得できます。

次の例ではドライブの名前(「C:\」など)をすべて表示しています。

VB.NET
コードを隠すコードを選択
'現在のコンピュータの論理ドライブを取得
Dim drives As System.IO.DriveInfo() = System.IO.DriveInfo.GetDrives()
For Each d As System.IO.DriveInfo In drives
    '"C:\"などのドライブ名を表示する
    Console.WriteLine(d.Name)
Next d
C#
コードを隠すコードを選択
//現在のコンピュータの論理ドライブを取得
System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
foreach (System.IO.DriveInfo d in drives)
{
    //"C:\"などのドライブ名を表示する
    Console.WriteLine(d.Name);
}

なお、VB.NETではMy.Computer.FileSystem.DrivesプロパティでDriveInfoのコレクションを取得することもできます。

  • 履歴:
  • 2007/2/19 カテゴリをファイルに変更。DriveInfoオブジェクトを取得する方法を追加。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • Windows Vista以降でUACが有効になっていると、ファイルへの書き込みに失敗する可能性があります。詳しくは、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。