Выбрать главу

В листинге 5.7 приведен сценарий DriveInfo.js, в котором объект Drive используется для доступа к некоторым свойствам диска С: (рис. 5.3).

Рис. 5.3. Свойства диска С:

Листинг 5.7. Получение свойств диска С

/*******************************************************************/

/* Имя: DriveInfo.js                                               */

/* Язык: JScript                                                   */

/* Описание: Вывод на экран свойств диска C:                       */

/*******************************************************************/

//Объявляем переменные

var FSO,D,TotalSize,FreeSpace,s;

//Создаем объект FileSystemObject

FSO = WScript.CreateObject("Scripting.FileSystemObject");

//Создаем объект Drive для диска C:

D = FSO.GetDrive("C:");

s="Информация о диске C:\n";

//Получаем серийный номер диска

s+="Серийный номер: "+D.SerialNumber+"\n";

//Получаем метку тома диска

s+="Метка тома: "+D.VolumeName+"\n";

//Вычисляем общий объем диска в килобайтах

TotalSize=D.TotalSize/1024;

s+="Объем: "+TotalSize+" Kb\n";

//Вычисляем объем свободного пространства диска в килобайтах

FreeSpace=D.FreeSpace/1024;

s+="Свободно: "+FreeSpace+" Kb\n";

//Выводим свойства диска на экран

WScript.Echo(s);

/*************  Конец *********************************************/ 

Коллекция 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="";

//Цикл по всем дискам в коллекции