DriveGet

ドライブの各種情報を取得

DriveGet, OutputVar, Cmd [, Value]

Parameters

引数名説明
OutputVar 情報を格納する変数名。
取得に失敗した場合は、空になる。
Cmd, Value 取得したい情報の種類と、オプション。
下記を参照

Cmd, Value

List [, Type]
ドライブ文字の一覧。
「CDEFG」のように存在するドライブ文字を連結した文字列が取得される。
Typeにはドライブの種類を指定。省略時はすべてのドライブが取得される。
Typeに指定できるのは、「CDROM」「REMOVABLE」「FIXED」(通常のHDDはこれ)「NETWORK」「RAMDISK」「UNKNOWN」。
Capacity (もしくは Cap), Path
ドライブの要領がMB単位で取得される。
Pathには「C:\」などを指定。
空き容量を取得するには、DriveSpaceFreeを使用する。
Filesystem (もしくは FS), Drive
ドライブのファイルシステムの種類を取得。
取得結果は「FAT」「FAT32」「NTFS」「CDFS」「UDF」のいずれかになる。
フォーマットされたメディアが入っていないドライブでは取得に失敗する。
Driveには「C:\」のようなドライブ名や、「\\server1\dir1」のようなネットワーク上の共有フォルダを指定する。
Label, Drive
ドライブのボリュームラベルを取得。
Driveには「C:\」のようなドライブ名や、「\\server1\dir1」のようなネットワーク上の共有フォルダを指定する。
SetLabel:NewLabel, Drive
ドライブのボリュームラベルを「NewLabel」に変更する。 Driveには「C:\」のようなドライブ名を指定。
このコマンドを使う場合、OutputVarは省略する。
Serial, Drive
ドライブのシリアルナンバーを整数値で取得。
Driveには「C:\」のようなドライブ名や、「\\server1\dir1」のようなネットワーク上の共有フォルダを指定する。 SetFormatで整数の表示形式を変更できる。
Type, Path
ドライブの種別を取得。
取得結果は「CDROM」「Removable」「Fixed」(通常のHDDはこれ)「Network」「RAMDisk」「Unknown」のいずれか。
Status, Path
ドライブの状態を取得。
取得結果は「Unknown」(フォーマットされていないなど)「Ready」(使用可能)「NotReady」(メディアが挿入されていないなど)「Invalid」(存在しないパスや接続できないネットワークドライブ)のいづれか。
StatusCD [, Drive]
CDやDVDなどの光学ドライブのメディアの状態を取得する。
Driveが省略されると、デフォルトの光学ドライブの状態が取得される。
OutputVarには以下の文字列が格納される。取得に失敗した場合は空になる。
not ready
書き込み実行中などの理由により、ドライブにアクセスできない
open
ドライブにディスクが入っていないか、トレイが開かれている
playing
ディスクを再生中
paused
再生を一時停止中
seeking
シーク中
stopped
ディスクは入っているが、アクセスされていない
光学ドライブ以外のドライブではこのサブコマンドは使用できず、OutputVarは空になり、ErrorLevelは「1」になる。
トレイを閉じた直後のメディア認識中にこのコマンドを実行すると、認識できるようになるまでスクリプトが停止する。
現在のところ、停止中はホットキーなどが効かなくなり、フックを利用しているとキーボード/マウス操作にラグが発生する。
Driveコマンドを使用することで、トレイを排出/格納することができる。

ErrorLevel

成功時は「0」、失敗時は「1」。

Related

DriveSpaceFree

Example(s)

; This is a working example script.
FileSelectFolder, folder, , 3, Pick a drive to analyze:
if folder =
	Exit
DriveGet, list, list
DriveGet, cap, capacity, %folder%
DrivespaceFree, free, %folder%
DriveGet, fs, fs, %folder%
DriveGet, label, label, %folder%
DriveGet, serial, serial, %folder%
DriveGet, type, type, %folder%
DriveGet, status, status, %folder%
MsgBox All Drives: %list%`nSelected Drive: %folder%`nDrive Type: %type%`nStatus: %status%`nCapacity: %cap% M`nFree Space: %free% M`nFilesystem: %fs%`nVolume Label: %label%`nSerial Number: %serial%