Чтение онлайн

ЖАНРЫ

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

В свойстве

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);

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

Объект Folder

Объект

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

Свойство Описание
Attributes
Позволяет
просмотреть или установить атрибуты каталога
DateCreated
Содержит дату и время создания каталога. Доступно только для чтения
DateLastAccessed
Содержит дату и время последнего доступа к каталогу. Доступно только для чтения
DateLastModified
Содержит дату и время последней модификации каталога. Доступно только для чтения
Drive
Содержит букву диска для устройства, на котором находится каталог. Доступно только для чтения
Files
Содержит коллекцию
Files
, состоящую из объектов
File
для всех файлов в каталоге (включая скрытые и системные)
IsRootFolder
Содержит
true
, если каталог является корневым, и
false
в противном случае
Name
Позволяет просмотреть и изменить имя каталога. Доступно для чтения и записи
ParentFolder
Содержит объект
Folder
для родительского каталога. Доступно только для чтения
Path
Содержит путь к каталогу
ShortName
Содержит короткое имя каталога (в формате 8.3)
ShortPath
Содержит путь к каталогу, состоящий из коротких имен каталогов (в формате 8.3)
Size
Содержит размер всех файлов и подкаталогов, входящих в данный каталог, в байтах
SubFolders
Содержит коллекцию
Folders
, состоящую из всех подкаталогов каталога (включая подкаталоги с атрибутами "Скрытый" и "Системный")
Type
Содержит информацию о типе каталога

Следующий пример показывает, как объект

Folder
используется для получения даты создания каталога (листинг 5.9).

Листинг 5.9. Вывод даты создания текущего каталога

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

/* Имя: DateFolder.js */

/* Язык: JScript */

/* Описание: Вывод на экран даты создания текущего каталога */

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

var FSO,WshShell,s; //Объявляем переменные

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

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

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

WshShell=WScript.CreateObject("WScript.Shell");

//Определяем каталог, из которого был запущен сценарий

//(текущий каталог)

Folder = FSO.GetFolder(WshShell.CurrentDirectory);

//Получаем имя текущего каталога

s="Текущий каталог: "+Folder.Name+"\n";

//Получаем дату создания текущего каталога

s+="Дата создания: "+Folder.DateCreated+"\n";

//Выводим информацию на экран

WScript.Echo(s);

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

Методы объекта

Folder
описаны в табл. 5.9.

Поделиться с друзьями: