Como acesso dispositivos MTP na linha de comando do Windows?

60

A maioria dos dispositivos MTP ( Media Transfer Protocol ) aparecem no Windows File Explorer com o nome do dispositivo ou um GUID, mas eles não têm uma letra de unidade atribuída.

Como posso acessar os arquivos em tais dispositivos a partir da linha de comando? Usando o cmd.exe ou o PowerShell.

    
por Peter Hahndorf 20.12.2011 / 20:52

3 respostas

24

Infelizmente, as APIs expostas pelo MTP são muito diferentes das APIs normais do sistema de arquivos. Portanto, a exposição do dispositivo MTP como um sistema de arquivos read / write não é possível. O principal motivo:

Wikipedia diz :

Neither the MTP nor the PTP standards allow for direct modification of objects. Instead, modified objects must be reuploaded in their entirety, which can take a long time for large objects. With PTP/MTP, the file size must be known at the opening stage.

Seu programa comum de cópia de arquivos apenas abre uma origem e um arquivo de destino e copia dados em partes do arquivo de origem para o destino. Isso não funcionará com o MTP, já que você precisa usar funções especiais do MTP e as primitivas do sistema de arquivos genérico (read, seek, write) não estão disponíveis.

Existem também outras limitações. Por exemplo, o número de arquivos que podem ser lidos ou gravados simultaneamente em um dispositivo MTP é severamente limitado. O dispositivo simplesmente não se comporta como um sistema de arquivos.

Suponho que o read-only driver do sistema de arquivos para um dispositivo MTP possa ser possível, mas por causa dos problemas descritos acima, será de muito pouco uso, então ninguém se incomodou em criá-lo.

    
por 10.01.2012 / 21:08
1

Existe um programa proprietário (mas ainda legal): MTP Drive ( link ) que permite que você "monte" Dispositivos MTP como unidades no Windows. Com algumas limitações razoáveis, faz o excelente trabalho!

    
por 19.10.2017 / 17:19