【问题标题】:How to find mounted storage devices in OSX?如何在 OSX 中查找已挂载的存储设备?
【发布时间】:2013-04-10 02:44:40
【问题描述】:

如何找到已挂载的存储设备并获取有关它们的信息?基本上我想要类似 finder 侧边栏中的行为。

***更新:一般我需要显示设备名称和类型

目前我正在查看 /Volumes/ 目录并仅列出其中的内容,但这给我留下了两个问题:

  1. 我有不需要的物品,例如移动备份
  2. 我无法识别设备

第二个问题确实困扰着我。如果我能识别出物品,我也可以将不需要的物品分拣出来,但我什至不知道它是挂载的 DMG、USB 设备还是网络设备。

我已经看过一些例子,但没有得到任何结果。苹果示例 FSMegaInfo 已经提供了一些信息,但我不确定我是否能够识别设备类型。我也不确定如何获得扫描设备所需的信息。 DADiskCopyDescription 似乎也没有给我所需的信息。

我还使用 NSWorkspace 通知来获取有关新安装或卸载设备的信息,但通知事件并没有真正提供任何信息。

有没有简单的方法?

感谢您的帮助。

Seb

【问题讨论】:

  • 您在寻找什么“必填信息”?只是一个唯一的标识符,还是别的什么?您希望识别什么:卷、媒体或设备?

标签: objective-c cocoa


【解决方案1】:

询问一个 NSFileManager 对象what volumes are mounted

【讨论】:

    【解决方案2】:
    【解决方案3】:

    您应该查看diskutil 命令行应用程序。它有一个列表选项,可以显示已安装卷的类型、名称、大小、标识符等。希望您可以在那时清除选项。

    【讨论】:

    • 想问一下:这和 Objective-C 有什么关系?
    • 我会考虑“运行一些命令行工具并解析输出”作为最后的手段。
    • 同意,但如果它没有指向解决方案,命令行工具和解析并不是最糟糕的选择。不过,我会为彼得的答案投票
    • 除了解析命令行工具输出之外,总是有很好的旧 c/c++ 方式,但我很确定通过 Objective-c 有一种很好的方便方式。
    猜你喜欢
    • 2011-01-16
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    相关资源
    最近更新 更多