Większość urządzeń MTP ( Media Transfer Protocol ) pojawia się w Eksploratorze plików Windows pod nazwą urządzenia lub GUID, ale nie ma przypisanej litery dysku.
Jak mogę uzyskać dostęp do plików na takich urządzeniach z wiersza poleceń? Za pomocą cmd.exe lub PowerShell.
windows
command-line
mtp
Peter Hahndorf
źródło
źródło
Odpowiedzi:
Niestety interfejsy API udostępnione przez MTP bardzo różnią się od zwykłych interfejsów API systemu plików. Dlatego udostępnienie urządzenia MTP jako systemu plików do odczytu / zapisu nie jest możliwe. Główny powód:
Wikipedia mówi :
Twój wspólny program do kopiowania plików po prostu otwiera plik źródłowy i docelowy oraz kopiuje dane w porcjach z pliku źródłowego do obiektu docelowego. Nie będzie to działać z MTP, ponieważ musisz użyć funkcji specjalnych MTP, a podstawowe operacje podstawowe systemu plików (odczyt, wyszukiwanie, zapis) nie są dostępne.
Istnieją również inne ograniczenia. Na przykład liczba plików, które można jednocześnie odczytywać lub zapisywać na urządzeniu MTP, jest poważnie ograniczona. Urządzenie po prostu nie zachowuje się jak system plików.
Podejrzewam, że sterownik systemu plików tylko do odczytu dla urządzenia MTP może być możliwy, ale z powodu opisanych powyżej problemów będzie on bardzo mało użyteczny, więc nikt nie zadał sobie trudu, aby go utworzyć.
źródło
Istnieje zastrzeżony (ale nadal miły) program: Dysk MTP ( http://www.mtpdrive.com/index.html ), który pozwala „zamontować” urządzenia MTP jako dyski w systemie Windows. Z pewnymi rozsądnymi ograniczeniami robi świetną robotę!
źródło
Być może uda ci się połączyć coś z MTPMon zestawu do portowania MTP.
Alternatywnie, PowerShell może tworzyć obiekty COM i wywoływać ich metody, więc możesz być w stanie korzystać z interfejsów API używanych przez Eksploratora Windows (na przykład GetDeviceInfo () i GetObjectInfo ()).
źródło