C# - よく使うクラス - System.IO - DriveInfo

 クラウディア
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」の違いは、ようわかりません。
AbemaTV 無料体験
Amazonギフトカード