DriveGet

AutoHotkey

DriveGet

获取计算机驱动器的各种类型的信息。

DriveGet, OutputVar, Cmd [, Value]

参数

OutputVar

用来保存 Cmd 结果的变量名.

Cmd, Value
请参阅后面的列表.

Cmd, Value

CmdValue 参数互相依赖, 它们的用法描述如下. 如果遇到问题, 则 OutputVar 被置空且 ErrorLevel 被置为 1.

List [, Type]:设置 OutputVar 为一串字母,其中每个字母表示系统中的一个驱动器。例如: ACDEZ. 如果省略 Type, 则获取所有类型的驱动器. 否则, 指定 Type 为下列单词的其中一个来获取该特定类型的驱动器: CDROM, REMOVABLE, FIXED, NETWORK, RAMDISK, UNKNOWN.

Capacity (or Cap), Path: 获取 Path (e.g. C:\) 的总容量, 单位为 MB. 使用 DriveSpaceFree 来获取可用空间.

Filesystem(或 FS), Drive :获取 Drive 的文件系统类型,其中 Drive 由驱动器字母、跟着一个冒号和可选的反斜线组成,或为 UNC 名称(例如 \\server1\share1)。OutputVar 将被设为下列单词的其中一个: FAT, FAT32, NTFS, CDFS (一般指 CD), UDF (一般指 DVD). 如果驱动器中不包含格式化的媒体, 则 OutputVar 被置空且 ErrorLevel 被置为 1.

Label, Drive: 获取 Drive 的卷标, 其中 Drive 由驱动器字母, 跟着冒号和可选的反斜线组成, 或为 UNC 名称 (例如 \\server1\share1). 要改变卷标,请参照此例:Drive, Label, C:, MyLabel

Serial, Drive:获取以十进制数表示的 Drive 的卷序列号,其中 Drive 由驱动器字母、跟着冒号和可选的反斜线组成,或为 UNC 名称(例如 \\server1\share1)。请参阅 SetFormat 了解如何把它转换成十六进制.

Type, Path: 获取 Path 的驱动器类型, 它为下列单词的其中一个: Unknown, Removable, Fixed, Network, CDROM, RAMDisk.

Status, Path: 获取 Path 的状态, 它为下列单词的其中一个: Unknown (可能表示未格式化/RAW), Ready, NotReady (通常表示不含媒体的可移动驱动器), Invalid (Path 不存在或为当前无法访问的网络驱动器, 等等).

StatusCD [, Drive]: 获取 CD 或 DVD 驱动器的媒体状态, 其中 Drive 由驱动器字母跟着冒号组成 (如果省略 Drive, 则使用默认的 CD/DVD 驱动器). 如果无法确定它的状态, 则 OutputVar 被置空. 否则, 它被设置为下列字符串的其中一个:

not ready 驱动器未准备好被访问, 可能因为正忙于写入操作. 已知限制: 当驱动器里是 DVD 而不是 CD 时, 也会出现 "未准备好" 的情况.
open 驱动器里没有光盘, 或者托盘已弹出.
playing 驱动器正在播放光盘.
paused 之前播放的音频或视频现在已暂停.
seeking 驱动器正在寻道.
stopped 驱动器里有 CD 但当前没有进行访问.

此命令对网络驱动器或非 CD/DVD 驱动器不起作用; 如果因为这种或其他原因失败了, 则 OutputVar 被置空且 ErrorLevel 被置为 1.

如果托盘刚才被关闭, 则此命令可能需要一些时间才能完成.

要弹出或收回托盘, 请参阅 Drive 命令.

ErrorLevel

[v1.1.04+] 此命令失败时会抛出异常. 想了解更多信息, 请参阅 运行时错误.

如果遇到问题则 ErrorLevel 被置为 1, 否则为 0.

备注

此命令的一些子命令参数 Path 中可以接受网络共享名, 例如 \\MyServer\MyShare\

相关

Drive, DriveSpaceFree

示例

; 这是个可运行示例脚本.
FileSelectFolder, folder, , 3, Pick a drive to analyze:
if folder =
    return
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%