Drive.DriveLetterドライブレター プロパティ

ドライブの文字を表す文字列を取得します。例えばCドライブの場合は"C"を返します。

構文
Drive.DriveLetter
引数
戻り値

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

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

ドライブレター

ドライブレター(Drive Letter)は、Windowsオペレーティングシステムにおいてストレージデバイスやパーティションを識別するために割り当てられるアルファベットの記号です。ドライブレターは、各デバイスやパーティションがコンピュータ内で一意に識別されるようにするために使用されます。

Windowsでは、ローカルディスク(ハードディスクやSSD)、CD/DVDドライブ、USBフラッシュドライブ、ネットワークドライブなどさまざまなストレージデバイスにドライブレターが割り当てられます。一般的なドライブレターの例としては、CDEなどがあります。

使い方

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")

PRINT FSO.GetDrive("C").DriveLetter 
PRINT FSO.GetDrive("C:").DriveLetter
PRINT FSO.GetDrive("C:\").DriveLetter
結果
プレーンテキスト
C
C
C

プログラム実行例

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

UWSC
結果
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
----------
使用関数

コンピュータ上のすべてのドライブ文字を返す

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
結果
プレーンテキスト
C
D
F
使用関数
解説

カレントディレクトリのドライブ文字を取得

UWSC
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM Drives = FSO.Drives

FOR Drive IN Drives
	PRINT Drive.DriveLetter
NEXT
結果
プレーンテキスト
C
使用関数
解説

この記事は役に立ちましたか?

はい
いいえ
ご協力ありがとうございます。

関連記事

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