Die meisten MTP- Geräte ( Media Transfer Protocol ) werden im Windows-Datei-Explorer unter ihrem Gerätenamen oder einer GUID angezeigt, ihnen ist jedoch kein Laufwerksbuchstabe zugewiesen.
Wie kann ich über die Befehlszeile auf die Dateien auf solchen Geräten zugreifen? Verwenden Sie entweder cmd.exe oder PowerShell.
windows
command-line
mtp
Peter Hahndorf
quelle
quelle
Antworten:
Leider unterscheiden sich APIs, die durch MTP verfügbar gemacht werden, stark von normalen Dateisystem-APIs. Daher ist es nicht möglich , ein MTP-Gerät als Lese- / Schreib- Dateisystem bereitzustellen. Der Hauptgrund:
Wikipedia sagt :
Ihr gemeinsames Dateikopierprogramm öffnet lediglich eine Quell- und eine Zieldatei und kopiert Daten in Stücken von der Quelldatei in das Ziel. Dies funktioniert mit MTP nicht, da Sie MTP-Sonderfunktionen verwenden müssen und generische Dateisystemprimitive (Lesen, Suchen, Schreiben) nicht verfügbar sind.
Es gibt auch andere Einschränkungen. Beispielsweise ist die Anzahl der Dateien, die gleichzeitig auf einem MTP-Gerät gelesen oder geschrieben werden können, stark begrenzt. Das Gerät verhält sich einfach nicht wie ein Dateisystem.
Ich nehme an , dass ein schreibgeschützter Dateisystemtreiber für ein MTP-Gerät möglich sein könnte, aber aufgrund der oben beschriebenen Probleme wird er kaum von Nutzen sein, sodass sich niemand die Mühe gemacht hat, ihn zu erstellen.
quelle
Es gibt ein proprietäres (aber immer noch nettes) Programm: MTP Drive ( http://www.mtpdrive.com/index.html ), mit dem Sie MTP-Geräte als Laufwerke in Windows "mounten" können. Mit einigen vernünftigen Einschränkungen macht es den tollen Job!
quelle
Möglicherweise können Sie mit dem MTPMon des MTP-Portierungskits etwas zusammenpflastern.
Alternativ kann PowerShell COM- Objekte erstellen und deren Methoden aufrufen, sodass Sie möglicherweise die von Windows Explorer verwendeten APIs verwenden können (z. B. GetDeviceInfo () und GetObjectInfo ()).
quelle