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

<p>Коллекция<emphasis> Drives</emphasis></p>

Доступная только для чтения коллекция 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);

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

<p>Объект <emphasis>Folder</emphasis></p>

Объект Folder обеспечивает доступ к свойствам каталога. Создать этот объект можно с помощью свойства RootFolder объекта Drive или методов GetFolder, GetParentFolder и GetSpecialFolder объекта FileSystemObject следующим образом:

var FSO, Folder;

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

Folder = FSO.GetFolder("С:\\Мои документы");

Также объекты Folder могут быть получены как элементы коллекции Folders.

Свойства объекта Folder представлены в табл. 5.8.

Таблица 5.8. Свойства объекта Folder

Перейти на страницу:

Похожие книги