node 获取所有信息_Node.JS实战45:获取磁盘空间信息

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

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

a352c19b142ef3dc8cd2134cad34f5cd.png

如何实现这个功能呢?

且看代码:

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+""+total+""+used+""+available+""+capacity);            }      }});

代码解析:

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

执行效果:

2d3dea61d4ce863be4ea635e9954f2bb.png

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

更多本系列教程:

Node.JS实战44:非常好用的数据库:SQLite

Node.JS实战43:Prune,给项目瘦个身

Node.JS实战42:又一高端操作:API HOOK

Node.JS实战41:让命令行变的五颜六色

Node.JS实战40:压缩和解压文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
npm WARN ERESOLVE overriding peer dependency npm WARN ERESOLVE overriding peer dependency [###...............] / idealTree:yargs: timing idealTree:node_modules/.pnpm/@babel+preset-modules@0.1.5_@babel+core@7[###...............] / idealTree:@commitlint/config-conventional: timing idealTree:node_modules/.pnpm/@commitlint+con[###...............] | idealTree:@commitlint/read: timing idealTree:node_modules/.pnpm/@commitlint+read@17.5.1/node_m[###...............] | idealTree:@commitlint/read: timing idealTree:node_modules/.pnpm/@commitlint+read@17.5.1/node_m[###...............] - idealTree:@commitlint/read: timing idealTree:node_modules/.pnpm/@commitlint+read@17.5.1/node_m[###...............] | idealTree:@commitlint/read: timing idealTree:node_modules/.pnpm/@commitlint+read@17.5.1/node_m[##................] \ idealTree:loader-utils: sill placeDep node_modules/.pnpm/@cspotcode+source-map-support@0.8.1 j[##................] - idealTree:karma-coverage: sill placeDep node_modules/.pnpm/@eslint+eslintrc@2.0.3/node_modules[##................] | idealTree:sinon: sill placeDep node_modules/.pnpm/@eslint+eslintrc@2.0.3 supports-color@7.2.0 [##................] / idealTree:espree: timing idealTree:node_modules/.pnpm/@gar+promisify@1.1.3/node_modules/@gar/p[##................] - idealTree:espree: timing idealTree:node_modules/.pnpm/@gar+promisify@1.1.3/node_modules/@gar/p[##................] \ idealTree:xo: sill placeDep node_modules/.pnpm/@gar+promisify@1.1.3/node_modules/@gar/promisif[##................] \ idealTree:xo: sill placeDep node_modules/.pnpm/@gar+promisify@1.1.3/node_modules/@gar/promisif[##................] / idealTree:xo: sill placeDep node_modules/.pnpm/@gar+promisify@1.1.3/node_modules/@gar/promisif[##................] / idealTree:xo: sill placeDep node_modules/.pnpm/@gar+promisify@1.1.3/node_modules/@gar/promisif[##................] | idealTree:xo: sill placeDep node_modules/.pnpm/@gar+promisify@1.1.3/node_modules/@gar/promisif[##................] \ idealTree:c8: timing idealTree:node_modules/.pnpm/@humanwhocodes+module-importer@1.0.1/node_mo[##................] / idealTree:@iconify-json/carbon: timing idealTree:node_modules/.pnpm/@iconify-json+carbon@1.1.1[##................] / idealTree:@iconify-json/carbon: timing idealTree:node_modules/.pnpm/@iconify-json+carbon@1.1.1
最新发布
07-04

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值