La plupart des périphériques MTP ( Media Transfer Protocol ) apparaissent dans l'Explorateur de fichiers Windows sous leur nom de périphérique ou un GUID, mais aucune lettre de lecteur ne leur est affectée.
Comment puis-je accéder aux fichiers sur de tels périphériques à partir de la ligne de commande? Utilisation de cmd.exe ou de PowerShell.
windows
command-line
mtp
Peter Hahndorf
la source
la source
Réponses:
Malheureusement, les API exposées par MTP sont très différentes des API de système de fichiers normales. Par conséquent, exposer un périphérique MTP en tant que système de fichiers en lecture / écriture n’est pas possible. La raison principale:
Wikipedia dit :
Votre programme commun de copie de fichiers ouvre simplement un fichier source et un fichier cible, et copie les données sous forme de morceaux du fichier source vers la cible. Cela ne fonctionnera pas avec MTP, car vous devez utiliser des fonctions spéciales, et les primitives de système de fichiers génériques (lecture, recherche, écriture) ne sont pas disponibles.
Il y a aussi d'autres limitations. Par exemple, le nombre de fichiers pouvant être lus ou écrits simultanément sur un périphérique MTP est extrêmement limité. Le périphérique ne se comporte tout simplement pas comme un système de fichiers.
Je suppose que le pilote de système de fichiers en lecture seule pour un périphérique MTP est peut-être possible, mais en raison des problèmes décrits ci-dessus, il sera très peu utile, donc personne ne s'est donné la peine de le créer.
la source
Il existe un programme propriétaire (mais toujours agréable): MTP Drive ( http://www.mtpdrive.com/index.html ) qui vous permet de "monter" des périphériques MTP en tant que lecteurs dans Windows. Avec quelques limitations raisonnables, il fait du bon travail!
la source
Vous pourrez peut-être bricoler quelque chose avec MTPMon du kit de portage MTP.
Sinon, PowerShell peut créer des objets COM et appeler leurs méthodes. Vous pouvez ainsi utiliser les API utilisées par l'Explorateur Windows (par exemple, GetDeviceInfo () et GetObjectInfo ()).
la source