[心得] MTP超難用與資料備份解決辦法
一、前言
真是搞不懂MTP(媒體傳輸模式)這種傳輸模式為什麼會廣泛使用
不僅慢還常常會發生圖片資料毀損的情況
還我MSC(大量儲存模式)啊...
二、研究動機與目的
在處理手機.thumbnails資料夾的時候
發現刪除了容量還是回不來
只好備份資料後格式化內建儲存空間
備份拉出資料的速度還算可以
12G大檔混小檔的檔案一個小時左右完成
但要還原的時候真的讓人吐血
事前就知道MTP傳零碎檔超級慢
所以我放著12小時去睡覺
睡醒居然還沒跑完那堆資料(LINE的零碎檔和2萬張照片占大多數)
有人可能會問,為什麼不手機開FTP直接扔過去比較快
1.零碎檔斷線又傳斷線又傳
而且多檔連線常常會跳出失敗
不會快到哪裡去
2.如果使用FTP傳輸或adb backup
adb backup -shared -nosystem -f "sd.ab"
還原回去的時候會是一個「全新」的檔案
一些跟日期沒有關係的檔案可能無傷大雅
但照片及影片的檔案排序會整個亂掉
在看圖的時候會非常不方便
三、文獻探討
上網爬完之後發現不只我在罵
原來已經幹聲一片好幾年了= =
現在除了少部分廠商的4.x系統可以使用MSC模式以外
5.x以上基本都已經是強制走MTP了
而有人就質疑了「明明還可以用push,為什麼把MSC取消了?」
這段話明顯是兩個不同的東西看起來很搞笑XD
但卻讓我想到可以用adb pull和push來達到我要的效果
備份: adb pull /sdcard x:\ooo (全部備分)
adb pull /sdcard/aaa x\ooo\aaa (單獨備份資料夾)
註3.1. x:\ooo\為你要在電腦上放置的目錄,不寫就是同adb.exe位置
註3.2. 它是複製「該資料夾內的檔案」不是「資料夾」直接過去
因此備份及還原時請務必在目的路徑加上原資料夾名稱
還原: adb push x:\ooo /sdcard (全部還原)
adb push x:\ooo\123 /sdcard/123 (單獨還原資料夾)
四、結論
1.零碎小檔還原傳輸速度(以LINE零碎圖片暫存檔為例)
a.使用MTP的速度是: 2秒1個
b.使用FTP的速度是: 1秒5~10個
c.使用adb pull/push的速度是: 1秒25個以上 (說以上是因為跑太快我看不清...)
2.單就資料結構完整性來說
a.MTP 可以保留 媒體拍攝時間
b.FTP 無法保留 媒體拍攝時間
c.adb pull/push 可以保留 媒體拍攝時間
3.檔名名稱編碼支援度
a.MTP 支援 非英數檔名
b.FTP 支援 非英數檔名
c.adb pull/push 不支援 非英數檔名
註4.1. 下指令後日語及簡體錯誤會馬上告知,不會跑一半才報錯
註4.2. 中文不會報錯,但會產生資料錯誤及檔案遺漏
綜合以上結果可知
目前尚有與MSC同樣效能與穩定性的傳輸方式
英文文件使用adb pull/push,非英文文件另外獨立使用MTP
是現在備份/還原內建儲存空間最好的折衷方法
--
人生中有些東西放著放著就會發現突然不見了:
一是時間,二是青春,三是3DS的觸控筆……
正常來說新買一根是比較簡潔的解決方法
問題是這台限定機要是換一根筆的話
相當於在愛花的洞洞裡插進了另外一根棒子
這種事情我是不會允許發生的
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.178.87
※ 文章網址: https://www.ptt.cc/bbs/Android/M.1459127024.A.C14.html
推
03/28 09:11, , 1F
03/28 09:11, 1F
推
03/28 09:17, , 2F
03/28 09:17, 2F
→
03/28 09:17, , 3F
03/28 09:17, 3F
→
03/28 09:26, , 4F
03/28 09:26, 4F
→
03/28 09:44, , 5F
03/28 09:44, 5F
→
03/28 09:50, , 6F
03/28 09:50, 6F
→
03/28 09:52, , 7F
03/28 09:52, 7F
推
03/28 09:52, , 8F
03/28 09:52, 8F
→
03/28 09:55, , 9F
03/28 09:55, 9F
→
03/28 09:56, , 10F
03/28 09:56, 10F
→
03/28 10:01, , 11F
03/28 10:01, 11F
→
03/28 10:10, , 12F
03/28 10:10, 12F
→
03/28 10:10, , 13F
03/28 10:10, 13F
→
03/28 10:13, , 14F
03/28 10:13, 14F
推
03/28 11:09, , 15F
03/28 11:09, 15F

推
03/28 12:01, , 16F
03/28 12:01, 16F
→
03/28 12:01, , 17F
03/28 12:01, 17F
w兄講了我有去試了一下,還是不行會產生亂碼
應該是adb pull/push本身檔案編碼轉換的問題
→
03/28 12:36, , 18F
03/28 12:36, 18F
→
03/28 12:42, , 19F
03/28 12:42, 19F
這應該是基於USB有線內網網芳的方式?
傳輸方式和速度跟MSC差不多
但過去的檔案還是會變成新的(唯一缺點)
還是感謝S兄推薦
推
03/28 12:56, , 20F
03/28 12:56, 20F
推
03/28 13:05, , 21F
03/28 13:05, 21F
→
03/28 13:06, , 22F
03/28 13:06, 22F
→
03/28 13:06, , 23F
03/28 13:06, 23F
→
03/28 13:07, , 24F
03/28 13:07, 24F
→
03/28 13:07, , 25F
03/28 13:07, 25F
推
03/28 13:58, , 26F
03/28 13:58, 26F
推
03/28 14:10, , 27F
03/28 14:10, 27F
推
03/28 14:19, , 28F
03/28 14:19, 28F
→
03/28 14:19, , 29F
03/28 14:19, 29F
→
03/28 14:19, , 30F
03/28 14:19, 30F
→
03/28 14:19, , 31F
03/28 14:19, 31F
→
03/28 14:19, , 32F
03/28 14:19, 32F
→
03/28 14:19, , 33F
03/28 14:19, 33F
推
03/28 14:28, , 34F
03/28 14:28, 34F
→
03/28 14:28, , 35F
03/28 14:28, 35F
→
03/28 14:29, , 36F
03/28 14:29, 36F
→
03/28 14:32, , 37F
03/28 14:32, 37F
推
03/28 18:38, , 38F
03/28 18:38, 38F
→
03/28 20:03, , 39F
03/28 20:03, 39F
→
03/28 20:22, , 40F
03/28 20:22, 40F
→
03/28 20:22, , 41F
03/28 20:22, 41F
→
03/28 20:24, , 42F
03/28 20:24, 42F
→
03/28 20:24, , 43F
03/28 20:24, 43F
→
03/28 20:49, , 44F
03/28 20:49, 44F
→
03/28 20:50, , 45F
03/28 20:50, 45F
→
03/28 20:53, , 46F
03/28 20:53, 46F
推
03/28 21:11, , 47F
03/28 21:11, 47F
推
03/28 21:15, , 48F
03/28 21:15, 48F
→
03/28 21:15, , 49F
03/28 21:15, 49F
→
03/28 21:18, , 50F
03/28 21:18, 50F
→
03/28 21:18, , 51F
03/28 21:18, 51F
推
03/29 00:04, , 52F
03/29 00:04, 52F
推
03/29 00:32, , 53F
03/29 00:32, 53F
※ 編輯: sawg (122.116.165.111), 03/29/2016 05:14:58
→
03/29 10:23, , 54F
03/29 10:23, 54F
推
03/30 08:32, , 55F
03/30 08:32, 55F
推
03/30 09:53, , 56F
03/30 09:53, 56F
推
04/02 21:36, , 57F
04/02 21:36, 57F