本ページには広告が含まれています。
目次 [非表示]
ドライブの文字を表す文字列を取得します。例えばCドライブの場合は"C"を返します。
- 構文
- Drive.DriveLetter
- 引数
- 戻り値
Drive オブジェクトを返すメソッド・プロパティ
- FSO.DriveLetter
- 指定したパスのドライブに対応するFSO.DriveLetterを返します。
- FSO.Drives プロパティ
- コンピューター上のすべてのFSO.DriveLetterを格納したDrivesコレクション返します。
- File.Drive プロパティ
- 指定したファイルがあるFSO.DriveLetterを返します。
ドライブレター
ドライブレター(Drive Letter)は、Windowsオペレーティングシステムにおいてストレージデバイスやパーティションを識別するために割り当てられるアルファベットの記号です。ドライブレターは、各デバイスやパーティションがコンピュータ内で一意に識別されるようにするために使用されます。
Windowsでは、ローカルディスク(ハードディスクやSSD)、CD/DVDドライブ、USBフラッシュドライブ、ネットワークドライブなどさまざまなストレージデバイスにドライブレターが割り当てられます。一般的なドライブレターの例としては、C、D、Eなどがあります。
使い方
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") PRINT FSO.GetDrive("C").DriveLetter PRINT FSO.GetDrive("C:").DriveLetter PRINT FSO.GetDrive("C:\").DriveLetter
- 結果
C C C
プログラム実行例
すべてのドライブの情報を取得

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
使用関数
解説
カレントディレクトリのドライブ文字を取得
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM Drive = FSO.GetDrive(FSO.GetDriveName(GET_CUR_DIR)) PRINT Drive.DriveLetter
結果
C
使用関数
解説
関連記事
- FileSystemObject オブジェクト
- FSO.Drives プロパティ
- コンピューター上のすべてのFSO.DriveLetterを格納したDrivesコレクション返します。
- Drive.FileSystem プロパティ (FSO)
- 指定したドライブで使用されているファイル システムを返します。
- Drive.FreeSpace プロパティ (FSO)
- 指定したドライブまたはネットワーク共有上で、ユーザーが利用可能な空き領域の量を返します。
- Drive.VolumeName プロパティ (FSO)
- 指定したドライブのボリューム名を取得または設定します。