- 1. 概要
- 2. GetDrives
- 3. 名称
- 4. 容量等
1. 概要
参考サイトによれば「System.IO.DriveInfo」は。
ドライブに関する情報へのアクセスを提供します。
とのことで。
本ページは、下記のサイトを参考にさせていただきました。
「DriveInfo クラス (System.IO) 」
2. クラス
「GetDrives()」メソッドは、コンピューター上のすべての論理ドライブのドライブ名を取得します。
using System.IO;
public class Program
{
static public void Main ()
{
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
Console.WriteLine(drive.Name);
}
}
}
というソースを書いて実行すると、例えば、下記のような出力が得られます。
C:\
D:\
H:\
もちろん、これは、実行するマシンの環境により、結果は異なるわけですが。
3. 名称
名称関係のプロパティとして、下記のものが存在します。
| プロパティ | 内 容 | 備考 |
| Name | C:\ など、ドライブ名を取得します | |
| VolumeLabel | ドライブのボリューム ラベルを取得または設定します | |
| RootDirectory | ドライブのルート ディレクトリを取得します | |
using System.IO;
public class Program
{
static public void Main ()
{
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
Console.WriteLine(drive.Name + " " + drive.VolumeLabel.PadLeft(7) + " " + drive.RootDirectory);
}
}
}
というソースを書いて実行すると、例えば、下記のような出力が得られます。
C:\ Windows C:\
D:\ D:\
H:\ H:\
4. 容量等
容量等のプロパティとして、下記のものが存在します。
| プロパティ | 内 容 | 備考 |
| IsReady | ドライブの準備ができているかどうかを示す値を取得します | |
| DriveType | CD-ROM、取り外し可能、ネットアーク、固定など、ドライブの種類を取得します | |
| DriveFormat | NTFS、FAT32 など、ファイル システムの名前を取得します | |
| TotalSize | ドライブのストレージ領域の合計サイズ (バイト単位) を取得します | |
| TotalFreeSpace | ドライブで使用できる空き領域の量の合計 (バイト単位) を取得します | |
| AvailableFreeSpace | ドライブで使用できる空き領域の量 (バイト単位) を示します | |
using System.IO;
public class Program
{
static public void Main ()
{
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
Console.WriteLine(drive.Name + " " + drive.IsReady + " " + drive.DriveType + " " + drive.DriveFormat + " "
+ drive.TotalSize.ToString("#,0").PadLeft(18)
+ drive.TotalFreeSpace.ToString("#,0").PadLeft(18)
+ drive.AvailableFreeSpace.ToString("#,0").PadLeft(18));
}
}
}
というソースを書いて、前項と同じマシン上で、実行したら、下記の結果が得られました。
C:\ True Fixed NTFS 1,021,771,247,616 747,535,990,784 747,535,990,784
D:\ True Fixed NTFS 4,000,645,095,424 1,004,231,700,480 1,004,231,700,480
H:\ True Fixed NTFS 6,001,173,458,944 739,495,714,816 739,495,714,816
「IsReady」は、光学ディスクドライブ等で「False」になることが、あるんじゃろうね。
「TotalFreeSpace」と「AvailableFreeSpace」の違いは、ようわかりません。
|