Як отримати доступ до MTP-пристроїв у командному рядку в Windows?


68

Більшість пристроїв MTP ( Media Transfer Protocol ) відображається в Провіднику файлів Windows під своїм ім’ям пристрою або GUID, але їм не присвоєно літеру диска.

Як я можу отримати доступ до файлів на таких пристроях з командного рядка? Використовуючи або cmd.exe, або PowerShell.


2
Той факт , що Linux MTP сумісні реалізації , такі як gphoto2 є спосіб завантаження сценарію передбачає , що це повинно бути можливо на Windows , так чи інакше, за умови , що Windows Media Player не якийсь - то чином блокувати будь-яке інше програмне забезпечення від доступу до інтерфейсу USB MTP ... Я теж хотілося б знати, чи це можливо.
Мокубай

2
Я відмовився від спроби знайти рішення для цього на своєму пристрої Android MTP і закінчив встановлення сервера WebDAV на своєму пристрої . Це може бути встановлено як мережевий накопичувач, хоча і повільно.
Марк Бут

WebDAV ... тьфу ... Це боляче. Хоча це буде працювати досить пристойно. Мені дивно ... мені здається, що Windows не може без особливих зусиль керувати тим, що робить Linux поза коробкою. Ну добре.
Швартальф

@MarkBooth Я спробував сервер WebDAV, але, здається, більшість файлів, які я передаю, пошкоджені (понад 90%) ...
Michael

Інше рішення для Android йде навпаки, налаштовуючи підключений пристрій: 1 , 2 , 3 .
Фредерік

Відповіді:


29

На жаль, API, відкриті MTP, сильно відрізняються від звичайних API файлової системи. Тому експонування пристрою MTP як файлової системи читання / запису неможливе. Головна причина:

У Вікіпедії сказано :

Ні стандарти MTP, ні стандарти PTP не дозволяють здійснювати пряму модифікацію об'єктів. Натомість модифіковані об’єкти повинні бути перезавантажені у повному обсязі, що може знадобитися тривалий час для великих об’єктів. З PTP / MTP розмір файлу повинен бути відомий на етапі відкриття.

Ваша загальна програма для копіювання файлів просто відкриває вихідний та цільовий файл, а також копіює дані фрагментами з вихідного файлу до цільового. Це не буде працювати з MTP, оскільки вам потрібно використовувати спеціальні функції MTP, а загальні примітиви файлової системи (читання, пошук, запис) недоступні.

Є й інші обмеження. Наприклад, кількість файлів, які можна одночасно читати чи записувати на пристрої MTP, сильно обмежена. Пристрій просто не веде себе як файлова система.

Я вважаю, що драйвер файлової системи лише для читання для пристрою MTP може бути можливим, але через проблеми, викладені вище, це буде дуже мало корисного, тому ніхто не заважає створювати його.


3
Здається, драйвер файлової системи лише для читання зараз існує: ptpdrive.com
Arne de Bruijn

4
Власне, це "не можливо". Якщо ви вважаєте , що у мене є gphotofs і mtpfs , як FUSE файлові системи на Linux that're ПОВНІСТЮ читання / відкладеного запису його цілком можна зробити це як "буква диска" під Windows ... вони просто не зробив його доступним або легко.
Швартальф

3

Існує власна (але все ж приємна) програма: MTP Drive ( http://www.mtpdrive.com/index.html ), яка дозволяє "монтувати" MTP-пристрої як накопичувачі в Windows. З деякими розумними обмеженнями це робить чудову роботу!


1. Чи може синтетичний MTP-накопичувач подаватися до загальних інструментів відновлення даних накопичувача, таких як EASEUS / Recuva / R-Studio, і даних можна ефективно відновити? 2. Чи можна використовувати роботокопію / інші швидкі засоби передачі даних для ефективної передачі даних з цього диска на рідні диски Windows (C / D тощо)?
SIslam

1

Можливо, вам вдасться щось обмотати разом із MTPMon набором для переносу MTP.

Крім того, PowerShell може створювати COM- об’єкти та викликати їхні методи, тож ви зможете використовувати API, які використовує Провідник Windows (наприклад, GetDeviceInfo () та GetObjectInfo ()).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.