A maioria dos dispositivos MTP ( Media Transfer Protocol ) é exibida 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 nesses dispositivos na linha de comando? Usando cmd.exe ou PowerShell.
windows
command-line
mtp
Peter Hahndorf
fonte
fonte
Respostas:
Infelizmente, as APIs expostas pelo MTP são muito diferentes das APIs normais do sistema de arquivos. Portanto, não é possível expor o dispositivo MTP como um sistema de arquivos de leitura / gravação . A principal razão:
A Wikipedia diz :
Seu programa de cópia de arquivo comum apenas abre uma fonte e um arquivo de destino e copia dados em pedaços do arquivo de origem para o destino. Isso não funcionará com o MTP, pois você precisará usar funções especiais do MTP e as primitivas genéricas do sistema de arquivos (leitura, busca, gravação) 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 driver do sistema de arquivos somente leitura para um dispositivo MTP possa ser possível, mas, devido aos problemas descritos acima, será muito pouco útil, portanto ninguém se preocupou em criá-lo.
fonte
Existe um programa proprietário (mas ainda agradável): MTP Drive ( http://www.mtpdrive.com/index.html ) que permite "montar" dispositivos MTP como unidades no Windows. Com algumas limitações razoáveis, ele faz um ótimo trabalho!
fonte
Você pode consertar algo junto com o MTPMon do kit de portabilidade MTP.
Como alternativa, o PowerShell pode criar objetos COM e chamar seus métodos, para que você possa usar as APIs usadas pelo Windows Explorer (por exemplo, GetDeviceInfo () e GetObjectInfo ()).
fonte