/**
* Get windows drives
* */
function get_win_drives(success_cb,error_cb){
var stdout = '';
var spawn = require('child_process').spawn,
list = spawn('cmd');
list.stdout.on('data', function (data) {
stdout += data;
});
list.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
list.on('exit', function (code) {
if (code == 0) {
console.log(stdout);
var data = stdout.split('\r\n');
data = data.splice(4,data.length - 7);
data = data.map(Function.prototype.call, String.prototype.trim);
success_cb(data);
} else {
console.log('child process exited with code ' + code);
error_cb();
}
});
list.stdin.write('wmic logicaldisk get caption\n');
list.stdin.end();
}
5条答案
按热度按时间eqfvzcg81#
node.js中没有列出分区的API。一种解决方法是使用child_process并执行
wmic
命令(或任何可以列出分区的命令)。xtfmy6hx2#
不确定它是否与您正在寻找的内容完全匹配,但我们构建了一个名为drivelist的NodeJS模块,它将返回一个连接的驱动器数组及其各自的挂载点(例如:在Windows中安装字母):
不可移动的驱动器被标记为
system: false
,如果这就是你要找的,你可以通过该属性进行过滤。这个模块的主要优点是它可以在所有主要的操作系统中工作。
参见https://github.com/resin-io-modules/drivelist
doinxwow3#
我的两分钱:
略有增强-一个函数与回调,便于集成,返回一个数组的驱动器:
hujrc8aj4#
简单一点的实现:
k0pti3hp5#