Запуск:
cscript freespace.js freespace.txt
Скрипт freespace.js:
/*
Вывод в файл информации о свободном месте на жестких дисках.
Параметры:
[outpufile] - файл в который записывается информация. создается если не было.
*/
var wsh = WScript.CreateObject("WScript.Shell");
var fso = WScript.CreateObject("Scripting.FileSystemObject");
var net = WScript.CreateObject("WScript.Network");
// Должен быть задан выходной файл
if (WScript.Arguments.length == 0) {
WScript.Quit();
}
else {
outpufile = WScript.Arguments(0);
}
// 2 - ForWriting
var log = fso.OpenTextFile(outpufile, 2, true);
function GetFormat( value ) {
var kK = 1024;
var kM = 1024*1024;
var kG = 1024*1024*1024;
var kT = 1024*1024*1024*1024;
if (value > kT) {
return Math.round( value/kT )+' TB';
}
if (value > kG) {
return Math.round( value/kG )+' GB';
}
if (value > kM) {
return Math.round( value/kM )+' MB';
}
if (value > kM) {
return Math.round( value/kK )+' KB';
}
return value+' B';
}
function GetDriveInfo ( Drive ) {
var s;
// процент свободного места
percent = Math.round( Drive.FreeSpace / Drive.TotalSize * 100 );
s = 't'+Drive.DriveLetter+':t'+Drive.VolumeName +'t'+percent + '%t'+ GetFormat( Drive.TotalSize) + 't' + GetFormat(Drive.FreeSpace);
return s;
}
var now = new Date();
var ComputerName = net.ComputerName;
log.WriteLine( now );
log.WriteLine('Computer: '+ComputerName );
log.WriteLine('tDrivetLabelt%tFreetTotal');
log.WriteLine('t-------------------------------------------');
var Drives = fso.Drives;
var eDrives = new Enumerator(fso.Drives);
for (; !eDrives.atEnd(); eDrives.moveNext()) {
Drive = eDrives.item();
// Обрабытываем только HDD
if ( Drive.DriveType != 2 ) {
continue;
}
//
log.WriteLine( GetDriveInfo( Drive ) );
}