本ページには広告が含まれています。
コンピューター上のすべてのFSO.Drives プロパティを格納したDrivesコレクション返します。
- 構文
- Drive = FileSystemObject.Drives
- 引数
プログラム実行例
すべてのドライブの情報を取得
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
//////////////////////////////////////////////////
// 【引数】
// size : バイト単位で示されるデータサイズの値
// digits : 小数点以下の桁数
// unit : 変換後のデータサイズの単位。Bytes、KB、MB、GB、TB、PB、EB、ZB、YBのいずれかを指定。省略した場合は自動的に選択されます。
// 【戻り値】
//
//////////////////////////////////////////////////
FUNCTION formatBytes(size, digits = 2, unit = "")
HASHTBL prefixes
prefixes[0] = "Bytes"
prefixes[1] = "KB"
prefixes[2] = "MB"
prefixes[3] = "GB"
prefixes[4] = "TB"
prefixes[5] = "PB"
prefixes[6] = "EB"
prefixes[7] = "ZB"
prefixes[8] = "YB"
DIM i = 0
WHILE (unit <> "" OR size >= 1024) AND prefixes[i] <> unit
size = size / 1024
i = i + 1
WEND
RESULT = TRIM(FORMAT(size, LENGTH(size), digits)) + IIF(size <> 0 AND INT(size) = size, "." + strRepeat("0", digits), "") + prefixes[i]
FEND
//////////////////////////////////////////////////
// 【引数】
// expr : 評価する式
// truepart : 評価した式がTrueのときに返す値
// falsepart : 評価した式がFalseのときに返す値
// 【戻り値】
// truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき
//////////////////////////////////////////////////
FUNCTION IIF(expr, truepart, falsepart)
IFB EVAL(expr) THEN
RESULT = truepart
ELSE
RESULT = falsepart
ENDIF
FEND
//////////////////////////////////////////////////
// 【引数】
// inputs : 繰り返す文字列
// multiplier : inputsを繰り返す回数
// 【戻り値】
// inputsをmultiplier回を繰り返した文字列を返します
//////////////////////////////////////////////////
FUNCTION strRepeat(inputs, multiplier)
DIM res = ""
FOR n = 1 TO multiplier
res = res + inputs
NEXT
RESULT = res
FEND
結果
空き容量: 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
----------
使用関数
コンピュータ上のすべてのドライブ文字を返す
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drives = FSO.Drives
FOR Drive IN Drives
PRINT Drive.DriveLetter
NEXT
結果
C
D
F
使用関数
解説
関連記事
- FileSystemObject オブジェクト
- Drive.DriveLetter プロパティ (FSO)
- ローカル ドライブまたはネットワーク共有を識別する 1 つの大文字のアルファベットを返します。
- Drive.FileSystem プロパティ (FSO)
- 指定したドライブで使用されているファイル システムを返します。
- Drive.FreeSpace プロパティ (FSO)
- 指定したドライブまたはネットワーク共有上で、ユーザーが利用可能な空き領域の量を返します。
- Drive.VolumeName プロパティ (FSO)
- 指定したドライブのボリューム名を取得または設定します。