【问题标题】:Windows USB mass storage - Garmin Alpha 200i mounted as a 'Device' but not a 'Drive'Windows USB 大容量存储 - Garmin Alpha 200i 作为“设备”而不是“驱动器”安装
【发布时间】:2021-04-07 00:20:50
【问题描述】:

我们有一个 Python 程序,它扫描已安装的驱动器号(或 Linux 的卷)以查找指示 Garmin 手持 GPS 的特定文件。但是,Windows 将 Garmin Alpha 200i 安装为“设备”而不是“驱动器”,因此它没有驱动器号,您无法从 Windows 批处理或标准 C:/文件夹中的 Powershell 获取它符号。

我们如何才能从 python(或批处理或 PowerShell)访问“设备”上的文件?

它绝对是一个大容量存储设备,并且有一个目录结构——只是不知道如何以编程方式访问它:

认为这是一个 Windows 或 python 问题,而不是 Garmin 问题。这是我们遇到的第一款安装为“设备”而非“驱动器”的 Garmin 手持 GPS 型号。

Garmin 手册说手持设备应该被识别为一个或两个可移动驱动器,但事实并非如此。早期的 GPS 型号确实安装为两个驱动器 - 一个用于手持设备的内部存储,另一个用于存储卡(如果有的话)。

【问题讨论】:

标签: python windows usb garmin


【解决方案1】:

现代设备使用Media Transfer Protocol (MTP)而不是USB大容量存储。

然而,这个协议是故意的,不能提供驱动器号。

您可以尝试LibMTP 的 Python 包装器之一。

【讨论】:

  • 谢谢 - 我从来没有注意到我的手机的行为方式与它不作为驱动器号挂载的方式相同。查看 Windows 上 libmtp 及其 python 包装器的可用选项(pymtp 显然是 python2-only;mtpy 显然是 linux-only)似乎没有任何开箱即用的交钥匙解决方案,除了对于不是免费的 MPTDrive.com。有趣的是,目前还没有开箱即用的解决方案 - 或者我错过了更明显的东西?
  • 是的 - MTP,感谢您指出。我以前对 MTP 并不熟悉。我一直在探索与它交谈的最佳方式,而 mtpmount 项目就是我现在要使用的项目,主要是因为它具有简单的交钥匙安装。目前我正试图弄清楚卸载过程是否是严格要求的(从 mtpmount 和 dokany 的角​​度来看),因为我们工作在一个通常在文件传输后立即热拔出东西的环境中。无论如何,感谢您解决这个特定问题!
猜你喜欢
  • 2012-09-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多