获取带有节点js的文件系统类型

时间:2017-10-20 16:06:59

标签: javascript node.js

我正在处理节点js中的项目,我需要获取磁盘的文件系统类型,即,我想知道它是FAT还是NTFS等... 有什么方法可以用节点js完成这个吗?任何帮助表示赞赏。感谢。

2 个答案:

答案 0 :(得分:3)

由于您未指定目标计算机的操作系统,因此可以在Windows下使用此命令:

fsutil fsinfo volumeinfo <disk letter here>:

显示输出simillar到这一个:

H:\>fsutil fsinfo volumeinfo c:

Volume Name :
Volume Serial Number : 0x4c31bcb3
Max Component Length : 255
File System Name : NTFS
Supports Case-sensitive filenames
Preserves Case of filenames
Supports Unicode in filenames
Preserves & Enforces ACL's
Supports file-based Compression
Supports Disk Quotas
Supports Sparse files
Supports Reparse Points
Supports Object Identifiers
Supports Encrypted File System
Supports Named Streams

您只需要正确解析命令输出。我建议你将文件系统名称存储在数组中,并寻找除第一行之外的每个命令输出。这样您就可以确定目标机器使用哪个文件系统。

这里有代码可以打印此命令输出到命令行的内容:

const { exec } = require('child_process');
exec('fsutil fsinfo volumeinfo c:', (err, stdout, stderr) => {
  if (err) {
    // node couldn't execute the command
    return;
  }

  // the *entire* stdout and stderr (buffered)
  console.log(`stdout: ${stdout}`);
});

这是未经测试的代码,我真的认为你想编写自己的代码片段。我无法决定这段代码是否有效,因为我现在没有机会。

另外,为什么要检查使用的文件系统?

答案 1 :(得分:-1)

你可以使用github.com/resin-io-modules/drivelist

然后

const drivelist = require('drivelist');



drivelist.list((error, drives) => {
  if (error) {
    throw error;
  }

  console.log(drives);
});