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: ';

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

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 подставляется объект Drive для нужного диска. Соответствующие объекты Drive для всех дисков, имеющихся в системе, создаются в функции LoopDrives():

// Функция для перебора в цикле всех устройств (дисков)

function LoopDrives() {

 var Drives;

 //Создаем коллекцию дисков

 Drives = new Enumerator( FSO.Drives );

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

 for(; !Drives.atEnd(); Drives.moveNext()) WriteDriveInfo(Drives.item());

}

Рис. 5.8. Сформированный отчет об использовании дискового пространства

В функции WriteDriveInfo(drive) сначала проверяется готовность устройства drive — если свойство IsReady объекта Drive равно true, то для этого устройства определяются общий объем (свойство TotalSize), объем свободного пространства (свойство FreeSpace), буква диска (свойство DriveLetter) и метка тома (свойство FreeSpace):

//Вычисляем общий объем диска в мегабайтах

Total = Math.round(drive.TotalSize/1048576);

//Вычисляем объем свободного пространства в мегабайтах

Free = Math.round(drive.FreeSpace/1048576);

//Вычисляем объем использованного пространства в мегабайтах

Used = Total - Free;

//Определяем букву диска

DriveLetter=drive.DriveLetter+':';

//Определяем метку тома

VolumeName=drive.VolumeName;

Строки с полученными значениями затем приводятся к нужному виду с помощью вспомогательных функций LFillStr (выравнивание строки влево), FillStr (выравнивание строки по центру) и записываются в выходной файл RepFile:

RepFile.WriteLine('+---------------------------------------------------+');

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату