Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также саму программу AutoHotkey и проблемы её использования)

Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.

Оригинал статьи в AutoHotkey.chm: "DriveGet", в содержании - "File, Directory and Disk Management" - "DriveGet", v1.0.46.09.

Ник переводчика: YMP.

Настоящее имя переводчика: Юрий Попов.

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 задаётся либо буквой с двоеточием и необязательной обратной косой чертой, либо как имя UNC наподобие \\server1\share1. В OutputVar будет помещено одно из следующих слов: FAT, FAT32, NTFS, CDFS (обычно означает CD), UDF (обычно означает DVD). OutputVar будет пустой и ErrorLevel равен 1, если привод не содержит форматированного носителя.

Label, Drive: определяет метку диска. Диск задаётся в параметре Drive либо буквой с двоеточием и необязательной обратной косой чертой, либо как имя UNC наподобие \\server1\share1. Изменить метку можно следующей командой: Drive, Label, C:, MyLabel

Serial, Drive: возвращает серийный номер диска в виде целого десятичного числа. Диск задаётся в параметре Drive либо буквой с двоеточием и необязательной обратной косой чертой, либо как имя UNC наподобие \\server1\share1. Конвертировать номер в шестнадцатеричный можно командой SetFormat.

Type, Path: определяет тип указанного в Path диска, обозначаемый одним из следующих слов: Unknown, Removable, Fixed, Network, CDROM, RAMDisk.

Status, Path: определяет статус указанного в Path диска, обозначаемый одним из следующих слов: Unknown (может означать неформатированный диск), Ready, NotReady (типично для приводов, не содержащих носителя), Invalid (диск, указанный в Path, не существует или является сетевым диском, который в данный момент недоступен).

StatusCD [, Drive]: определяет состояние привода CD или DVD. Drive задаётся буквой с двоеточием (если опущен, будет использован CD/DVD-привод по умолчанию). OutputVar будет пустой, если состояние не может быть определено. Иначе туда помещается одно из следующих слов:


not ready Привод не готов для доступа, возможно потому, что занят операцией записи. Известные ограничения: "not ready" также получается, когда в приводе диск DVD, а не CD.
open Привод не содержит диска или его лоток выдвинут.
playing Привод проигрывает диск.
paused Проигрывание аудио или видео приостановлено.
seeking Привод занят поиском на диске.
stopped Привод содержит CD-диск, но в данный момент не обращается к нему.

Эта команда, вероятно, не будет работать для сетевых дисков или не-CD/DVD-приводов; если она завершается неудачей по этой или другой причине, OutputVar будет пустой, а ErrorLevel будет равен 1.

Если лоток был закрыт только что, при выполнении команды может быть задержка.

Выдвигание или втягивание лотка осуществляется командой Drive.

ErrorLevel

Равен 1, если были проблемы, иначе 0.

Примечания

Некоторые команды могут принимать сетевые имена, такие как \\MyServer\MyShare\

Пример

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%
Выбранный диск: %folder%
Тип диска: %type%
Статус: %status%
Ёмкость: %cap% Мб
Свободное место: %free% Мб
Файловая система: %fs%
Метка тома: %label%
Серийный номер: %serial%
)

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.