Листинг 5.12. Создание текстового файла и копирование его в другой каталог
/*******************************************************************/
/* Имя: CopyFile.js */
/* Язык: JScript */
/* Описание: Создание и копирование файла */
/*******************************************************************/
//Объявляем переменные
var FSO,F,WshShell,WshFldrs,PathCopy;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем файл
F=FSO.CreateTextFile("C:\\TestFile.txt", true);
//Записываем в файл строку
F.WriteLine("Тестовый файл");
//Закрываем файл
F.Close();
//Создаем объект WshShell
WshShell=WScript.CreateObject("Wscript.Shell");
//Создаем объект WshSpecialFolders
WshFldrs=WshShell.SpecialFolders;
//Определяем путь к рабочему столу
PathCopy=WshFldrs.item("Desktop")+"\\";
//Создаем объект File для файла C:\TestFile.txt
F=FSO.GetFile("C:\\TestFile.txt");
//Копируем файл на рабочий стол
F.Copy(PathCopy);
/************* Конец *********************************************/
Замечание
Вместо метода Сору
можно использовать метод CopyFile
объекта FileSystemObject
.
Если параметр force
равен false
или не указан, то с помощью метода Delete
будет нельзя удалить файл с атрибутом "только для чтения" (read-only). Установка для force
значения true
позволит сразу удалять такие файлы.
Замечание
Вместо метода Delete
можно использовать метод DeleteFile
объекта FileSystemObject
.
Обязательный параметр destination
определяет файл, в который будет производиться перемещение; групповые символы в имени файла недопустимы.
Замечание
Вместо метода Move
можно использовать метод MoveFile
объекта FileSystemObject
.
Числовой параметр iomode
задает режим ввода/вывода для открываемого файла и может принимать те же значения, что и одноименный параметр в методе OpenTextFile
объекта FileSystemObject
(табл. 5.5).
Числовой параметр format
определяет формат открываемого файла (ASCII или Unicode). Этот параметр также может принимать те же значения, что и format
в методе OpenTextFile
объекта FileSystemObject
(табл. 5.6).
Замечание
Открыть текстовый файл для чтения можно также с помощью метода OpenTextFile
объекта FileSystemObject
.
В листинге 5.13 приведен сценарий WriteTextFile.js, иллюстрирующий использование метода OpenAsTextStreamдля записи строки в файл и чтения из него.
Листинг 5.13. Запись информации в текстовый файл и чтение ее из него
/*******************************************************************/
/* Имя: WriteTextFile.js */
/* Язык: JScript */
/* Описание: Запись строк в текстовый файл и чтение из него */
/*******************************************************************/
var FSO,F,TextStream,s; //Объявляем переменные
//Инициализируем константы
var ForReading = 1, ForWriting = 2, TristateUseDefault = -2;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем в текущем каталоге файл test1.txt
FSO.CreateTextFile("test1.txt");
//Создаем объект File для файла test1.txt
F=FSO.GetFile("test1.txt");
//Создаем объект TextStream (файл открывается для записи)
TextStream=F.OpenAsTextStream(ForWriting, TristateUseDefault);
//Записываем в файл строку
TextStream.WriteLine("Это первая строка");
//Закрываем файл
TextStream.Close();
//Открываем файл для чтения
TextStream=F.OpenAsTextStream(ForReading, TristateUseDefault);
//Считываем строку из файла
s=TextStream.ReadLine();
//Закрываем файл
TextStream.Close();
//Отображаем строку на экране
WScript.Echo("Первая строка из файла test1.txt:\n\n",s);
/************* Конец *********************************************/
Коллекция 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
.
Читать дальше