是否有使用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
答案 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
)的输出。
从问题的评论中收集。