ここでは、論理デバイス( 固定ディスクやUSB リムーバルデバイスなど )の一覧とその詳細情報を取得するサンプルコードを掲載しています。
スポンサーリンク
論理デバイス情報の取得
ディスク容量の監視などに使えそうです。そういえば数年前、監視用サーバが処理能力不足でダウンして監視できなくなったことがありました。何のためにクラスタ構成にまでしたのだろう。
VB.NET
' 論理ドライブの一覧を取得する
Dim drives As System.IO.DriveInfo() = System.IO.DriveInfo.GetDrives()
' ドライブの詳細情報を表示する
For Each drive As System.IO.DriveInfo In drives
Console.WriteLine("--------------------------------------------------")
Console.WriteLine("ドライブ名:{0}", drive.Name)
Console.WriteLine("--------------------------------------------------")
Console.WriteLine("ドライブ有効 :{0}", drive.IsReady.ToString())
Console.WriteLine("ドライブルートディレクトリ:{0}", drive.RootDirectory)
Console.WriteLine("ファイルシステム名 :{0}", drive.DriveFormat.ToString())
Console.WriteLine("ドライブタイプ :{0}", drive.DriveType.ToString())
Console.WriteLine("ボリュームラベル :{0}", drive.VolumeLabel)
Console.WriteLine("使用可能サイズ(バイト) :{0}", drive.AvailableFreeSpace)
Console.WriteLine("ドライブサイズ(バイト) :{0}", drive.TotalSize)
Console.WriteLine("ドライブ空容量(バイト) :{0}", drive.TotalFreeSpace)
Next
C#
// 論理ドライブの一覧を取得する
System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
// ドライブの詳細情報を表示する
foreach(System.IO.DriveInfo drive in drives) {
Console.WriteLine("--------------------------------------------------");
Console.WriteLine("ドライブ名:{0}", drive.Name);
Console.WriteLine("--------------------------------------------------");
Console.WriteLine("ドライブ有効 :{0}", drive.IsReady.ToString());
Console.WriteLine("ドライブルートディレクトリ:{0}", drive.RootDirectory);
Console.WriteLine("ファイルシステム名 :{0}", drive.DriveFormat.ToString());
Console.WriteLine("ドライブタイプ :{0}", drive.DriveType.ToString());
Console.WriteLine("ボリュームラベル :{0}", drive.VolumeLabel);
Console.WriteLine("使用可能サイズ(バイト) :{0}", drive.AvailableFreeSpace);
Console.WriteLine("ドライブサイズ(バイト) :{0}", drive.TotalSize);
Console.WriteLine("ドライブ空容量(バイト) :{0}", drive.TotalFreeSpace);
}
なお、ネットワークドライブや固定デバイスなどの区別は DriveType 列挙体で行うことができます。
DriveType 列挙体
| メンバ名 | 説明 |
|---|---|
| CDRom | ドライブは、CD-ROM、DVD-ROM などの光ディスク ドライブです。 |
| Fixed | ドライブは固定ディスクです。 |
| Network | ドライブはネットワーク ドライブです。 |
| NoRootDirectory | ドライブにはルート ディレクトリがありません。 |
| Ram | ドライブは RAM ディスクです。 |
| Removable | ドライブは、フロッピー ディスク ドライブ、USB フラッシュ ドライブなどのリムーバブル ストレージ デバイスです。 |
| Unknown | ドライブの種類は不明です。 |