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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

Создать объект

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

Свойство Описание
AtEndOfLine
Содержит
true
, если указатель достиг конца строки в файле, и
false
в противном случае. Доступно только для чтения
AtEndOfStream
Содержит
true
, если указатель достиг конца файла, и
false
в противном случае. Доступно только для чтения
Column
Содержит номер колонки текущего символа в текстовом файле. Доступно только для чтения
Line
Содержит номер текущей строки в текстовом файле. Доступно только для чтения

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

TextStream
представлены в табл. 5.13.

Таблица 5.13. Методы объекта

TextStream

Метод Описание
Close
Закрывает открытый файл
Read(n)
Считывает из файла
n
символов и возвращает полученную строку
ReadAll
Считывает полностью весь файл и возвращает полученную строку
ReadLine
Возвращает полностью считанную из файла строку
Skip(n)
Пропускает при чтении
n
символов
SkipLine
Пропускает целую строку при чтении
Write(string)
Записывает в файл строку
string
(без символа конца строки)
WriteBlankLines(n)
Записывает в файл
n
пустых строк (символы перевода строки и возврата каретки)
WriteLine([string])
Записывает в файл строку
string
(вместе с символом конца строки). Если параметр
string
опущен, то в файл записывается пустая строка

В листинге 5.15 приведен сценарий TextFile.js, иллюстрирующий использование методов объекта

TextStream
. В этом сценарии на диске С: создается файл TestFile.txt и в него записываются три строки, вторая из которых является пустой. После этого файл открывается для чтения и из него считывается третья строка, которая
выводится на экран (рис. 5.7).

Рис. 5.7. Результат работы сценария TextFile.js

Листинг 5.15. Работа с текстовым файлом с помощью методов объекта TextStream

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

/* Имя: TextFile.js */

/* Язык: JScript */

/* Описание: Работа с текстовым файлом (запись и чтение информации)*/

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

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

var ForReading = 1; //Инициализируем константы

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

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

//Создаем на диске C: текстовый файл TestFile.txt

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

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

F.Write("Это ");

F.WriteLine("первая строка");

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

F.WriteBlankLines(1);

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

F.WriteLine("Это третья строка");

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

F.Close;

//Открываем файл для чтения

F=FSO.OpenTextFile("C:\\TestFile.txt", ForReading);

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

F.SkipLine;

F.SkipLine;

s="Третья строка из файла C:\\TestFile.txt:\n";

//Считываем из файла третью строку

s+=F.ReadLine;

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

WScript.Echo(s);

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

Примеры сценариев 

Ниже подробно рассмотрены несколько завершенных сценариев, иллюстрирующих работу с файловой системой компьютера.

Отчет об использовании дискового пространства

Напишем сценарий DrivesReport.js, который будет создавать таблицу использования дискового пространства для дисков всех типов (съемных, жестких и сетевых), имеющихся на компьютере, в следующем формате:

Диск: буква_диска 
Метка тома: метка  Общий объем, Mb: n1 
Используется, Mb: n2  Свободно, Mb: n3 

Для этого в сценарии вывод информации производится в текстовый файл rep.txt (переменная

RepFile
), который затем открывается с помощью Блокнота (рис. 5.8):

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

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

//Запускаем Блокнот (notepad.exe) и открываем в нем файл rep.txt

WshShell.Run("notepad.exe rep.txt"); 

Данные об одном диске формируются в функции

WriteDriveInfo(drive)
, где в качестве параметра
drive
подставляется объект D
r
ive для нужного диска. Соответствующие объекты
Drive
для всех дисков, имеющихся в системе, создаются в функции
LoopDrives
:

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