本ページには広告が含まれています。
指定したドライブの総容量を返します。
- 構文
- Double = Drive.TotalSize
- 引数
- 戻り値
- 指定したドライブの総容量(バイト単位)
Drive オブジェクトを返すメソッド・プロパティ
- FSO.TotalSize
- 指定したパスのドライブに対応するFSO.TotalSizeを返します。
- FSO.Drives プロパティ
- コンピューター上のすべてのFSO.TotalSizeを格納したDrivesコレクション返します。
- File.Drive プロパティ
- 指定したファイルがあるFSO.TotalSizeを返します。
使い方
Cドライブの総容量を返します。
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drive = FSO.GetDrive("C")
PRINT Drive.TotalSize
- 結果
161061269504Bytes
Drive.TotalSize プロパティはバイト単位の値を返すため、適切な単位に合わせる場合はTotalSize関数 (自作関数)を使います。
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drive = FSO.GetDrive("C")
DIM size = Drive.TotalSize
PRINT size + "Bytes"
PRINT formatBytes(size)
- 結果
161061269504Bytes 150.00GB
プログラム実行例
すべてのドライブの情報を取得
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drives = FSO.Drives
DIM types[] = "不明", "リムーバブルドライブ", "ハードディスク", "ネットワークドライブ", "CD-ROM", "RAMドライブ"
FOR Drive IN Drives
WITH Drive
IFB .IsReady = TRUE THEN
PRINT "空き容量:" + formatBytes(.AvailableSpace)
PRINT "ドライブ文字:" + .DriveLetter
PRINT "種類:" + types[.DriveType]
PRINT "ファイルシステム:" + .FileSystem
PRINT "空き容量:" + formatBytes(.FreeSpace)
PRINT "準備状態:" + .IsReady
PRINT "パス:" + .Path
PRINT "ルートフォルダ:" + .RootFolder
PRINT "シリアルナンバー:" + .SerialNumber
PRINT "ネットワーク共有名:" + .ShareName
PRINT "ネットワーク共有のサイズ:" + formatBytes(.TotalSize)
PRINT "ボリューム名:" + .VolumeName
ENDIF
ENDWITH
PRINT "----------"
NEXT
結果
空き容量: 28.79GB
ドライブ文字: C
種類: ハードディスク
ファイルシステム: NTFS
空き容量: 28.79GB
準備状態: True
パス: C:
ルートフォルダ: C:\
シリアルナンバー: -266948359
ネットワーク共有名:
ネットワーク共有のサイズ: 150.00GB
ボリューム名: S3A9247D001
----------
空き容量: 63.92GB
ドライブ文字: D
種類: ハードディスク
ファイルシステム: NTFS
空き容量: 63.92GB
準備状態: True
パス: D:
ルートフォルダ: D:\
シリアルナンバー: 340155053
ネットワーク共有名:
ネットワーク共有のサイズ: 523.75GB
ボリューム名: DATA
----------
空き容量: 98.52GB
ドライブ文字: E
種類: リムーバブルドライブ
ファイルシステム: exFAT
空き容量: 98.52GB
準備状態: True
パス: E:
ルートフォルダ: E:\
シリアルナンバー: -361583784
ネットワーク共有名:
ネットワーク共有のサイズ: 116.55GB
ボリューム名:
----------
空き容量: 0.00Bytes
ドライブ文字: F
種類: CD-ROM
ファイルシステム: UDF
空き容量: 0.00Bytes
準備状態: True
パス: F:
ルートフォルダ: F:\
シリアルナンバー: -100688574
ネットワーク共有名:
ネットワーク共有のサイズ: 4.36GB
ボリューム名: KANOUSO_R
----------
空き容量: 43.81GB
ドライブ文字: N
種類: ネットワークドライブ
ファイルシステム: NTFS
空き容量: 43.81GB
準備状態: True
パス: N:
ルートフォルダ: N:\
シリアルナンバー: 622466291
ネットワーク共有名: \\192.168.3.23\home
ネットワーク共有のサイズ: 3.50TB
ボリューム名: home
----------
空き容量: 2.30GB
ドライブ文字: P
種類: ハードディスク
ファイルシステム: NTFS
空き容量: 2.30GB
準備状態: True
パス: P:
ルートフォルダ: P:\
シリアルナンバー: 640742038
ネットワーク共有名:
ネットワーク共有のサイズ: 5.46TB
ボリューム名: WS200U3_20210210
----------
空き容量: 5.39TB
ドライブ文字: Q
種類: ハードディスク
ファイルシステム: NTFS
空き容量: 5.39TB
準備状態: True
パス: Q:
ルートフォルダ: Q:\
シリアルナンバー: -692843773
ネットワーク共有名:
ネットワーク共有のサイズ: 7.28TB
ボリューム名: WS200U3_20221118
----------
使用関数
Cドライブの空き容量を割合で取得
Cドライブの空き容量を小数点以下第2位までの百分率(単位:%)で出力します。
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drive = FSO.GetDrive("C")
WITH Drive
PRINT ROUND(.FreeSpace / .TotalSize * 100, -2) + "%"
ENDWITH
結果
19.47%
使用関数
解説