NodeJS确定驱动器是否可移动

有没有办法使用Node JS,通过fs.stat()或其他方式来确定一个给定的目录和/或驱动器是否可移动(如USB驱动器)?

我正在寻找一种跨平台的方法(或者至less有一种适用于Windows的方法,一种适用于Mac,而且我可以创build自己的跨平台function)。

我们有一个小型的跨平台模块(在OS X,Windows和GNU / Linux下工作),名为drivelist ,列出您计算机中连接的驱动器。 生成的驱动器包含一个system属性,用于确定驱动器是否可移除,例如,在Windows上:

 [ { device: '\\\\.\\PHYSICALDRIVE0', description: 'WDC WD10JPVX-75JC3T0', size: '1000 GB' mountpoint: 'C:', system: true }, { device: '\\\\.\\PHYSICALDRIVE1', description: 'Generic STORAGE DEVICE USB Device', size: '15 GB' mountpoint: 'D:', system: false } ] 

您可以按照您感兴趣的列表筛选列表,然后检查system属性:

 var drivelist = require('drivelist'); drivelist.list(function(error, disks) { if (error) throw error; var drive = drives.find(function(drive) { return drive.mountpoint === 'C:'; }); if (drive.system) { console.log('C: is not removable!'); } }); 

我们使用各种机制来确定驱动器是否可移动,随时仔细查看您最感兴趣的平台!

我正在做类似于你所要求的东西,但它是一个特定于Linux的实现。 在我使用的Linux(Ubunut 12.04)的特定发行版中,所有可移动驱动器都安装在/ media中,所以我只是检查驱动器是否安装在那里。 如果是,那么我知道它是可移动的。

我知道这不是像fs对象那样使用某种Node实用程序,所以它不会独立于平台。