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

Параметр create имеет значение в том случае, когда открываемый файл физически не существует. Если create равно true, то этот файл создастся, если же в качестве значения create указано false или параметр create опущен, то файл создаваться не будет.

Числовой параметр format определяет формат открываемого файла (табл. 5.6).

Таблица 5.6. Параметр format

Константа Значение Описание
TristateUseDefault -2 Файл открывается в формате, используемом системой по умолчанию
TristateTrue -1 Файл открывается в формате Unicode
TristateFalse 0 Файл открывается в формате ASCII

Для дальнейшей работы с открытым файлом, т.е. для записи или чтения информации, нужно использовать методы объекта TextStream.

В следующем примере с помощью метода OpenTextFile текстовый файл открывается в режиме добавления информации (листинг 5.6).

Листинг 5.6. Добавление информации в текстовый файл

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

/* Имя: AppendFile.js                                              */

/* Язык: JScript                                                   */

/* Описание: Добавление строки в текстовый файл                    */

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

//Объявляем переменные и инициализируем константы

var FSO,f,ForAppending = 8;

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

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

//Открываем файл

f = FSO.OpenTextFile("C:\\TestFile.txt", ForAppending, true);

//Добавление в файл строку

f.WriteLine("Привет!");

//Закрываем файл

f.Close();

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

Замечание

Мнемонические константы, используемые в качестве параметров iomode и create, можно не определять явным образом в сценарии, как это сделано в вышеприведенном примере, а брать из самого объекта FileSystemObject (точнее говоря, из библиотеки типов этого объекта). Для этого в сценариях нужно применять разметку XML (см. листинг 3.9).

Объект Drive

С помощью объекта Drive можно получить доступ к свойствам заданного локального или сетевого диска. Создается объект Drive с помощью метода GetDrive объекта FileSystemObject следующим образом:

var FSO, D;

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

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

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

Свойства объекта Drive представлены в табл. 5.7; методов у этого объекта нет.

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

Свойство Описание
AvailableSpace Содержит количество доступного для пользователя места (в байтах) на диске
DriveLetter Содержит букву, ассоциированную с локальным устройством или сетевым ресурсом. Это свойство доступно только для чтения
DriveType Содержит числовое значение, определяющее тип устройства: 0 — неизвестное устройство; 1 — устройство со сменным носителем; 2 — жесткий диск; 3 — сетевой диск; 4 — CD-ROM; 5 — RAM-диск
FileSystem Содержит тип файловой системы, использующейся на диске (FAT, NTFS или CDFS)
FreeSpace Содержит количество свободного места (в байтах) на локальном диске или сетевом ресурсе. Доступно только для чтения
IsReady Содержит true, если устройство готово, и false в противном случае. Для устройств со сменными носителями и приводов CD-ROM IsReady возвращает true только в том случае, когда в дисковод вставлен соответствующий носитель и устройство готово предоставить доступ к этому носителю
Path Содержит путь к диску (например, "С:", но не "С:\")
RootFolder Содержит объект Folder, соответствующий корневому каталогу на диске. Доступно только для чтения
SerialNumber Содержат десятичный серийный номер тома заданного диска
ShareName Содержит сетевое имя для диска. Если объект не является сетевым диском, то в свойстве ShareName содержится пустая строка ("")
TotalSize Содержит общий объем в байтах локального диска или сетевого ресурса
VolumeName Содержит метку тома для диска. Доступно для чтения и записи