DriveGet

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

DriveGet, OutputVar, SubCommand , Value

OutputVar 参数是用于存储结果的变量的名称. SubCommandValue 参数相互依赖, 其用法如下所示.

子命令

对于 SubCommand, 指定以下命令之一:

List

检索一串字母, 其中每个字母表示系统中的一个驱动器. 例如: ACDEZ.

DriveGet, OutputVar, List , Type

如果省略 Type, 则获取所有类型的驱动器. 否则, 指定 Type 为下列单词的其中一个来获取该特定类型的驱动器: CDROM, REMOVABLE, FIXED, NETWORK, RAMDISK, UNKNOWN.

Capacity

检索指定 Path(例如 C:\) 的总容量, 单位为 MB.

DriveGet, OutputVar, Capacity, Path

使用 DriveSpaceFree 来获取可用空间. Cap 可用来代替 Capacity.

FileSystem

检索 Drive 的文件系统的类型.

DriveGet, OutputVar, FileSystem, Drive

Drive 由驱动器字母, 跟着一个冒号和可选的反斜杠组成, 或为 UNC 名称, 例如 \\server1\share1. OutputVar 将被设为下列单词的其中一个: FAT, FAT32, NTFS, CDFS(通常表示 CD), UDF(通常表示 DVD). 如果驱动器中不包含格式化的媒体, OutputVar 被置空且 ErrorLevel 被置为 1. FS 可用来代替 FileSystem.

Label

检索 Drive 的卷标.

DriveGet, OutputVar, Label, Drive

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

Serial

检索以十进制数表示的 Drive 的卷序列号.

DriveGet, OutputVar, Serial, Drive

Drive 由驱动器字母, 跟着冒号和可选的反斜杠组成, 或为 UNC 名称, 例如 \\server1\share1. 请参阅 SetFormat 了解如何把它转换成十六进制.

Type

检索 Path 的驱动器类型.

DriveGet, OutputVar, Type, Path

OutputVar 为下列单词的其中一个: Unknown, Removable, Fixed, Network, CDROM, RAMDisk.

Status

检索 Path 的状态.

DriveGet, OutputVar, Status, Path

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

StatusCD

检索 CD 或 DVD 驱动器的媒体状态.

DriveGet, OutputVar, StatusCD , Drive

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

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

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

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

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

错误处理

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

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

备注

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

相关

Drive, DriveSpaceFree

示例

#1: 允许用户选择一个驱动器来分析它:

FileSelectFolder, folder, , 3, Pick a drive to analyze:
if not folder
    return
DriveGet, list, List
DriveGet, cap, Capacity, %folder%
DriveSpaceFree, free, %folder%
DriveGet, fs, FileSystem, %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%