使用Firefox Addon SDK列出所有驱动器

时间:2014-11-17 13:19:28

标签: javascript firefox firefox-addon firefox-addon-sdk

是否有使用firefox插件sdk列出所有已安装驱动器(硬盘,USB驱动器等)路径的跨OS方式?

我发现这个代码适用于Windows,但我找不到跨操作系统的解决方案:

Components.utils.import("resource://gre/modules/FileUtils.jsm");

var root = new FileUtils.File("\\\\.");
var drivesEnum = root.directoryEntries, drives = [];
while (drivesEnum.hasMoreElements()) {
  drives.push(drivesEnum.getNext().
    QueryInterface(Components.interfaces.nsILocalFile).path);
}

来源:https://developer.mozilla.org/en-US/Add-ons/Code_snippets/File_I_O#Enumerating_drives_on_Windows

1 个答案:

答案 0 :(得分:2)

所以答案似乎是没有直接的方法,但可以使用sdk api来获取Windows中的驱动器:

Components.utils.import("resource://gre/modules/FileUtils.jsm");

var root = new FileUtils.File("\\\\.");
var drivesEnum = root.directoryEntries, drives = [];
while (drivesEnum.hasMoreElements()) {
  drives.push(drivesEnum.getNext().
    QueryInterface(Components.interfaces.nsILocalFile).path);
}

并在macos和linux中解析命令行工具(如df)的输出。

从问题的评论中收集。