Книга: Windows Script Host для Windows 2000/XP
Коллекция Drives
Коллекция Drives
Доступная только для чтения коллекция Drives
содержит объекты Drive
для всех доступных дисков компьютера, в том числе для сетевых дисков и дисководов со сменными носителями.
В свойстве Count
коллекции Drives
хранится число ее элементов, т.е. число доступных дисков.
С помощью метода Item(drivespec)
можно получить доступ к объекту Drive
для диска, заданного параметромdrivespec
. Например:
var FSO, DriveCol, D; //Создаем объект FileSystemObject
FSO = WScript.CreateObject("Scripting.FileSystemObject");
//Создаем коллекцию имеющихся в системе дисков
DriveCol = FSO.Drives;
// Извлечение элемента коллекции (диск С:)
D = DriveCol.Item("С:");
//Вывод на экран метки тома диска С:
WScript.Echo("Диск С: имеет метку", D.VolumeName);
Для перебора всех элементов коллекции Drives
нужно, как обычно, использовать объект Enumerator
.
В листинге 5.8 приведен файл ListDrives.js, в котором с помощью объекта Enumerator
на экран выводятся сведения обо всех доступных дисках (рис. 5.4).
Рис. 5.4. Список всех дисков, имеющихся в системе
Листинг 5.8. Построение списка всех имеющихся дисков
/*******************************************************************/
/* Имя: ListDrives.js */
/* Язык: JScript */
/* Описание: Получение списка всех имеющихся дисков */
/*******************************************************************/
//Объявляем переменные
var FSO,s,ss,Drives,D;
//Создаем объект FileSystemObject
FSO = WScript.CreateObject("Scripting.FileSystemObject");
//Создаем коллекцию дисков, имеющихся в системе
Drives = new Enumerator(FSO.Drives);
s="";
//Цикл по всем дискам в коллекции
for (;!Drives.atEnd();Drives.moveNext()) {
//Извлекаем текущий элемента коллекции
D=Drives.item();
//Получаем букву диска
s+=D.DriveLetter;
s+=" - ";
if (D.DriveType == 3) //Проверяем, не является ли диск сетевым
//Получаем имя сетевого ресурса
ss=D.ShareName;
else
//Диск является локальным
if (D.IsReady) //Проверяем готовность диска
//Если диск готов, то получаем метку тома для диска
ss=D.VolumeName;
else ss="Устройство не готово";
s+=ss+"n";
}
//Выводим полученные строки на экран
WScript.Echo(s);
/************* Конец *********************************************/
- Коллекция Folders
- Коллекция Files
- Using the BIOS and Kernel to Tune the Disk Drives
- Adding hard drives
- Compressing drives and data
- Encrypting drives and data
- Managing existing partitions and drives
- Connecting to network drives
- Physical drives
- Compressing drives
- Expanding compressed drives
- Deleting partitions and drives