Làm cách nào để truy cập các thiết bị MTP trên dòng lệnh trong Windows?


68

Hầu hết các thiết bị MTP ( Giao thức truyền phương tiện ) hiển thị trong Windows File Explorer dưới tên thiết bị của chúng hoặc GUID, nhưng chúng không có ký tự ổ đĩa được gán.

Làm cách nào tôi có thể truy cập các tệp trên các thiết bị đó từ dòng lệnh? Sử dụng cmd.exe hoặc PowerShell.


2
Thực tế là Linux MTP tương thích triển khai như gphoto2 có một cách để kịch bản tải lên cho thấy rằng điều này nên có thể trên Windows bằng cách nào đó, giả định rằng Windows Media Player không bằng cách nào đó chặn bất kỳ phần mềm nào khác truy cập vào giao diện USB MTP ... Tôi quá muốn biết nếu điều này là có thể.
Mokubai

2
Tôi đã từ bỏ việc cố gắng tìm giải pháp cho vấn đề này với thiết bị Android MTP của mình và cuối cùng đã cài đặt máy chủ WebDAV trên thiết bị của tôi . Điều này có thể được gắn kết như một ổ đĩa mạng, mặc dù chậm.
Đánh dấu gian hàng

WebDAV ... ugh ... Thật đau đớn. Nó sẽ làm việc đủ tốt mặc dù. Thật là ... đáng ngạc nhiên ... với tôi rằng Windows dường như không thể quản lý những gì Linux làm được một cách dễ dàng. Ồ, tốt.
Svartalf

@MarkBooth Tôi đã dùng thử máy chủ WebDAV nhưng có vẻ như hầu hết các tệp tôi chuyển đều bị hỏng (hơn 90%) ...
Michael

Giải pháp khác cho Android đi theo hướng khác, tinh chỉnh thiết bị được kết nối: 1 , 2 , 3 .
Frédéric

Câu trả lời:


29

Thật không may, các API được hiển thị bởi MTP rất khác với các API hệ thống tệp thông thường. Do đó, việc phơi bày thiết bị MTP dưới dạng hệ thống tập tin đọc / ghi là không thể. Nguyên nhân chính:

Wikipedia nói :

Cả các tiêu chuẩn MTP và PTP đều không cho phép sửa đổi trực tiếp các đối tượng. Thay vào đó, các đối tượng được sửa đổi phải được tải lại toàn bộ, có thể mất nhiều thời gian cho các đối tượng lớn. Với PTP / MTP, kích thước tệp phải được biết ở giai đoạn mở.

Chương trình sao chép tệp chung của bạn chỉ cần mở một nguồn và một tệp đích và sao chép dữ liệu theo từng đoạn từ tệp nguồn vào đích. Điều này sẽ không hoạt động với MTP, vì bạn cần sử dụng các chức năng đặc biệt của MTP và các nguyên hàm hệ thống tập tin chung (đọc, tìm kiếm, ghi) không khả dụng.

Ngoài ra còn có những hạn chế khác. Ví dụ: số lượng tệp có thể được đọc hoặc ghi đồng thời trên thiết bị MTP bị hạn chế nghiêm trọng. Thiết bị đơn giản là không hoạt động như một hệ thống tập tin.

Tôi cho rằng trình điều khiển hệ thống tập tin chỉ đọc cho một thiết bị MTP có thể có thể, nhưng vì các vấn đề được nêu ở trên, nó sẽ được sử dụng rất ít, vì vậy không ai bận tâm để tạo ra nó.


3
Trình điều khiển hệ thống tập tin chỉ đọc dường như tồn tại ngay bây giờ: ptpdrive.com
Arne de Bruijn

4
Trên thực tế, nó không "không thể". Khi bạn cho rằng tôi đã có các gphotof và mtpfs dưới dạng các hệ thống tập tin FUSE trên Linux, HOÀN TOÀN đã đọc / ghi- hoàn toàn có thể thực hiện điều này như một "ký tự ổ đĩa" trong Windows ... họ chỉ không có sẵn hoặc dễ dàng.
Svartalf

3

Có một chương trình độc quyền (nhưng vẫn đẹp): MTP Drive ( http://www.mtpdrive.com/index.html ) cho phép bạn "gắn kết" các thiết bị MTP làm ổ đĩa trong Windows. Với một số hạn chế hợp lý, nó làm công việc tuyệt vời!


1. Ổ đĩa MTP tổng hợp đó có thể được cung cấp cho một công cụ khôi phục dữ liệu ổ đĩa chung như EASEUS / Recuva / R-Studio và dữ liệu có thể được phục hồi một cách hiệu quả không? 2. Tôi có thể sử dụng robocopy / các công cụ truyền dữ liệu nhanh khác để truyền dữ liệu từ ổ đĩa đó sang ổ đĩa gốc (C / D, v.v.) không?
SIslam

1

Bạn có thể kết hợp một cái gì đó cùng với MTPMon của bộ chuyển cổng MTP.

Ngoài ra, PowerShell có thể tạo các đối tượng COM và gọi các phương thức của chúng, do đó bạn có thể sử dụng các API mà Windows Explorer đang sử dụng (ví dụ: GetDeviceInfo () và GetObjectInfo ()).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.