# 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 (或 Cap), Path: 以兆字节为单位取得参数 Path (例如：C:\) 的总容量。用 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 时，也会出现"not ready" 的情况。
open | 驱动器里没有光盘，或者托盘已弹出。
playing | 驱动器正在播放光盘。
paused | 先前播放的声频或视频目前已暂停。
seeking | 驱动器正在查找。
stopped | 驱动器里有 CD 但是当前没有在访问。

此命令很可能对网络驱动器或者非 CD/DVD 驱动器不起作用；如果由此或者其他原因而失败，OutputVar 将被置空并且 ErrorLevel 设为 1 。

如果托盘刚被关闭, 命令完成之前会有一定延迟。

要弹出或者缩回托盘，请看 Drive 命令。

#### ErrorLevel

出错时 ErrorLevel 被设为 1 ，否则为 0 。

#### 注意

其中某些命令能接受网络共享名称作为参数 Path, 例如 \\MyServer\MyShare\

#### 相关命令

Drive, DriveSpaceFree

#### 示例

    ; 这是一个可用的示例脚本。
    FileSelectFolder, folder, , 3, 选一个驱动器来分析：
    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 所有的驱动器：%list%`n选中的驱动器：%folder%`n驱动器类型：%type%`n状态：%status%`n容量：%cap% M`n可用空间：%free% M`n文件系统：%fs%`n卷标：%label%`n序列号：%serial%

翻译：tcgbp 修正：天堂之门 menk33@163.com 2008年9月18日