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.
Поделиться с друзьями: