Коллекция Files содержит объекты File для всех файлов, находящихся внутри определенного каталога. Создается эта коллекция с помощью свойства Files соответствующего объекта Folder. Например, в следующем примере переменная Files является коллекцией, содержащей объекты File для всех файлов в каталоге С:\Мои документы:

var FSO, F, Files;

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

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

Files=F.Files;

Как и рассмотренные выше коллекции Drives и Folders, коллекция Files имеет свойство Count и метод Item.

Для доступа в цикле ко всем элементам коллекции Files применяется объект Enumerator. В качестве примера использования этого объекта в листинге 5.14 приведен сценарий ListFiles.js, выводящий на экран названия всех файлов, которые содержатся в специальной папке "Мои документы" (рис. 5.6). 

Рис. 5.6. Список всех файлов в специальной папке "Мои документы"

Листинг 5.14. Построение списка файлов

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

/* Имя: ListFiles.js                                               */

/* Язык: JScript                                                   */

/* Описание: Получение списка всех файлов заданного каталога       */

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

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

var FSO,F,Files,WshShell,PathList,s;

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

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

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

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

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

WshFldrs=WshShell.SpecialFolders;

//Определяем путь к папке "Мои документы"

PathList=WshFldrs.item("MyDocuments")+"\\";

//Создаем объект Folder для папки "Мои документы"

F=FSO.GetFolder(PathList);

//Создаем коллекцию файлов каталога "Мои документы"

Files=new Enumerator(F.Files);

s = "Файлы из каталога "+PathList+"\n";

//Цикл по всем файлам

for (; !Files.atEnd(); Files.moveNext())

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

 s+=Files.item().Name+"\n";

//Выводим полученные строки на экран

WScript.Echo(s);

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

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

Объект TextStream обеспечивает последовательный (строка за строкой) доступ к текстовому файлу. Методы этого объекта позволяют читать информацию из файла и записывать ее в него.

Создать объект TextStream можно с помощью следующих методов:

CreateTextFile объектов FileSystemObject и Folder;

OpenTextFile объекта FileSystemObject;

OpenAsTextStream объекта File.

В следующем примере переменная F является объектом TextStream и используется для записи строки текста в файл C:\TestFile.txt:

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

var FSOWScript.CreateObject("Scripting. FileSystemObject");

//Создаем текстовый файл

var F=FSO.CreateTextFile("C:\\TestFile.txt", true);

//Записываем строку в файл

F.WriteLine("Строка текста");

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

F.Close();

Свойству объекта TextStream описаны в табл. 5.12.

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

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

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