如果你的某个程序需要在磁盘上大量存放文件,

那么,监测当前磁盘可用空间、当磁盘空间可用率低于某个值时,发出提示或告警,是个很实用很需要的功能。

如何实现这个功能呢?

且看代码:

var diskinfo = require('diskinfo');
//当前盘符
var current_disk = __dirname.substr(0,2).toLowerCase();

//获得所有磁盘空间
diskinfo.getDrives(function(err, aDrives) {

//遍历所有磁盘信息
for (var i = 0; i < aDrives.length; i++) {
//只获取当前磁盘信息
if( aDrives[i].mounted.toLowerCase() == current_disk ){

//盘符号
var mounted = 'mounted ' + aDrives[i].mounted;
//总量
var total = 'total ' + (aDrives[i].blocks /1024 /1024 /1024).toFixed(0) + "gb";
//已使用
var used = 'used ' + (aDrives[i].used /1024 /1024 /1024).toFixed(0) + "gb";
//可用
var available = 'available ' + (aDrives[i].available /1024 /1024 /1024).toFixed(0) + "gb";
//使用率
var capacity = 'capacity ' + aDrives[i].capacity;
console.log(mounted+"\r\n"+total+"\r\n"+used+"\r\n"+available+"\r\n"+capacity);
}
}

});

代码解析:

使用三方模块diskinfo获取磁盘信息,遍历并匹配当前磁盘,然后输出磁盘信息。

执行效果:

可见,已获取磁盘总量、使用量、可用量、使用率等关键信息。