Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программное обеспечение » Windows Script Host для Windows 2000/XP - Андрей Попов

Windows Script Host для Windows 2000/XP - Андрей Попов

Читать онлайн Windows Script Host для Windows 2000/XP - Андрей Попов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 73 74 75 76 77 78 79 80 81 ... 175
Перейти на страницу:

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

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("+---------------------------------------------------+");

//Записываем информацию о букве диска

s="|"+FillStr(51,"Диск "+DriveLetter)+"|";

RepFile.WriteLine(s);

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

//Записываем информацию о метке тома

s="|"+LFillStr(25,"Метка тома: "+VolumeName)+"|";

//Записываем информацию об общем объеме диска

s+=LFillStr(25,"Общий объем, Mb: "+Total)+"|";

RepFile.WriteLine(s);

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

//Записываем информацию об использованном пространстве

s="|"+LFillStr(25,"Рспользуется, Mb: "+Used.toString())+"|";

//Записываем информацию о свободном пространстве

s+=LFillStr(25,"РЎРІРѕР±РѕРґРЅРѕ, Mb: "+Free.toString())+"|";

RepFile.WriteLine(s);

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

Если же устройство drive не готово (свойство IsReady равно false), то с помощью свойства DriveType проверяется, не является ли ли диск сетевым (в этом случае DriveType=3), после чего в файл выводится соответствующее сообщение:

if (drive.DriveType == 3) { //Проверяем, является ли диск сетевым

 //Записываем информацию о букве диска

 RepFile.WriteLine( "Диск " + drive.DriveLetter + " является сетевым" );

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

В RepFile.WriteLine();

В RepFile.WriteLine();

} else {

 //Устройство не готово

 RepFile.WriteLine( "Устройство " + drive.DriveLetter + ": не готово" );

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

В RepFile.WriteLine();

В RepFile.WriteLine();

}

Полный текст сценария DrivesReport.js приведен в листинге 5.16.

Листинг 5.16. Отчет об использовании дискового пространства для всех устройств на компьютере

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

/* РРјСЏ: DrivesReport.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В  */

/* Язык: JScript                                                   */

/* Описание: Формирование отчета об использовании дискового        */

/*           пространства для всех устройств на компьютере         */

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

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

var FSO, RepFile, MDate,WshShell, ForWriting = 2;

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

function LoopDrives() {

В var Drives;

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

В Drives = new Enumerator( FSO.Drives );

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

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

}

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

function WriteDriveInfo(drive) {

В var s,Total,Free,Used,DriveLetter,VolumeName;

 if (drive.IsReady) { //Проверяем готовность устройства

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

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

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

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

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

В  Used = Total - Free;

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

В  DriveLetter=drive.DriveLetter+":";

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

В  VolumeName=drive.VolumeName;

В  RepFile.WriteLine("+---------------------------------------------------+");

  //Записываем информацию о букве диска

  s="|"+FillStr(51,"Диск "+DriveLetter)+"|";

В  RepFile.WriteLine(s);

В  RepFile.WriteLine("+---------------------------------------------------+");

  //Записываем информацию о метке тома

  s="|"+LFillStr(25,"Метка тома: "+VolumeName)+"|";

  //Записываем информацию об общем объеме диска

  s+=LFillStr(25,"Общий объем, Mb: "+Total)+"|";

В  RepFile.WriteLine(s);

В  RepFile.WriteLine("+---------------------------------------------------+");

  //Записываем информацию об использованном пространстве

В  s="|"+LFillStr(25,"Рспользуется, Mb: "+Used.toString())+"|";

  //Записываем информацию о свободном пространстве

В  s+=LFillStr(25,"РЎРІРѕР±РѕРґРЅРѕ, Mb: "+Free.toString())+"|";

В  RepFile.WriteLine(s);

В  RepFile.WriteLine("+---------------------------------------------------+");

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

В  RepFile.WriteLine();

В  RepFile.WriteLine();

 } else if (drive.DriveType == 3) { //Проверяем, является ли диск сетевым

  //Записываем информацию о букве диска

  RepFile.WriteLine( "Диск " + drive.DriveLetter + " является сетевым" );

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

В  RepFile.WriteLine();

В  RepFile.WriteLine();

В } else {

  //Устройство не готово

  RepFile.WriteLine( "Устройство " + drive.DriveLetter + ": не готово" );

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

В  RepFile.WriteLine();

В  RepFile.WriteLine();

В }

}

/*******************  Начало  **********************************/

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

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

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

RepFile = FSO.OpenTextFile("rep.txt", ForWriting, true);

//Определяем текущую дату и время

MDate = new Date();

//Записываем дату и время в отчет

RepFile.WriteLine("Дата отчета: " + MDate);

RepFile.WriteLine();

//Вызываем функцию LoopDrives

LoopDrives();

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

RepFile.Close();

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

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

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

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

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

1 ... 73 74 75 76 77 78 79 80 81 ... 175
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Windows Script Host для Windows 2000/XP - Андрей Попов.
Комментарии