La mayoría de los dispositivos MTP ( Protocolo de transferencia de medios ) aparecen en el Explorador de archivos de Windows con su nombre de dispositivo o un GUID, pero no tienen asignada una letra de unidad.
¿Cómo puedo acceder a los archivos en dichos dispositivos desde la línea de comandos? Usando cmd.exe o PowerShell.
windows
command-line
mtp
Peter Hahndorf
fuente
fuente
Respuestas:
Desafortunadamente, las API expuestas por MTP son muy diferentes de las API normales de un sistema de archivos. Por lo tanto, no es posible exponer el dispositivo MTP como un sistema de archivos de lectura / escritura . La razón principal:
Wikipedia dice :
Su programa común de copia de archivos solo abre un archivo de origen y uno de destino, y copia datos en fragmentos del archivo de origen al destino. Esto no funcionará con MTP, ya que necesita usar funciones especiales de MTP, y las primitivas genéricas del sistema de archivos (lectura, búsqueda, escritura) no están disponibles.
También hay otras limitaciones. Por ejemplo, el número de archivos que se pueden leer o escribir simultáneamente en un dispositivo MTP está muy limitado. El dispositivo simplemente no se comporta como un sistema de archivos.
Supongo que el controlador del sistema de archivos de solo lectura para un dispositivo MTP podría ser posible, pero debido a los problemas descritos anteriormente, será de muy poca utilidad, por lo que nadie se molestó en crearlo.
fuente
Hay un programa propietario (pero aún agradable): Unidad MTP ( http://www.mtpdrive.com/index.html ) que le permite "montar" dispositivos MTP como unidades en Windows. ¡Con algunas limitaciones razonables, hace el gran trabajo!
fuente
Es posible que pueda improvisar algo junto con el MTPMon del kit de transferencia MTP.
Alternativamente, PowerShell puede crear objetos COM y llamar a sus métodos, por lo que puede usar las API que está utilizando el Explorador de Windows (por ejemplo, GetDeviceInfo () y GetObjectInfo ()).
fuente