DriveGet
获取计算机驱动器的各种类型的信息。
DriveGet, OutputVar, Cmd [, Value]
参数
- OutputVar
用来保存 Cmd 结果的变量名.
- Cmd, Value
- 请参阅后面的列表.
Cmd, Value
Cmd 和 Value 参数互相依赖, 它们的用法描述如下. 如果遇到问题, 则 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\
相关
示例
; 这是个可运行示例脚本. 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%