Drive.FileSystemファイルシステム プロパティ

本ページには広告が含まれています。

指定されたドライブで使用されているファイルシステムの種類を表す文字列を返します。

構文
  1. String = Drive.FileSystem
引数
戻り値
ファイルシステムを表す文字列

Drive オブジェクトを返すメソッド・プロパティ

FSO.FileSystem
指定したパスのドライブに対応するDrive オブジェクトを返します。
FSO.Drives プロパティ
コンピューター上のすべてのDrive オブジェクトを格納したDrivesコレクション返します。
File.Drive プロパティ
指定したファイルがあるDrive オブジェクトを返します。

ファイルシステムの種類

ファイルシステム 説明
NTFS New Technology File Systemの略で、FATよりも新しく最近のWindowsで使われる形式です。
exFAT File Allocation Tableの略で、USBメモリや外付けハードディスクに使われる形式です。
UDF Universal Disk Formatの略で、光ディスク(CD、DVD、Blu-rayディスク)などに使われる形式です。

使い方

Cドライブのファイルシステムの種類を取得します。

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drive = FSO.GetDrive("C")

PRINT Drive.FileSystem
結果
プレーンテキスト
NTFS

Eドライブのファイルシステムの種類を取得します。

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drive = FSO.GetDrive("E")

PRINT Drive.FileSystem
結果
プレーンテキスト
exFAT

プログラム実行例

すべてのドライブの情報を取得

.png
UWSC
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
結果
CSV
空き容量:                   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
----------
使用関数

関連記事

FileSystemObject オブジェクト
FSO.DriveExists メソッド
指定したドライブが存在するかどうかを確認します。
FSO.Drives プロパティ
コンピューター上のすべてのDrive オブジェクトを格納したDrivesコレクション返します。
Drive.AvailableSpace プロパティ (FSO)
指定したドライブまたはネットワーク共有上で、ユーザーが利用可能な領域の量を返します。
Drive.DriveLetter プロパティ (FSO)
ローカル ドライブまたはネットワーク共有を識別する 1 つの大文字のアルファベットを返します。
Drive.FreeSpace プロパティ (FSO)
指定したドライブまたはネットワーク共有上で、ユーザーが利用可能な空き領域の量を返します。
Drive オブジェクト
特定のディスク ドライブまたはネットワーク共有のプロパティにアクセスできます。
Drive.VolumeName プロパティ (FSO)
指定したドライブのボリューム名を取得または設定します。