[心得] MTP超難用與資料備份解決辦法

作者: sawg (Mr.絲襪)   2016-03-28 09:03:35
一、前言
真是搞不懂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
是現在備份/還原內建儲存空間最好的折衷方法
作者: justblackJ (...)   2016-03-28 09:11:00
好文推 有時插上去還會讀不到也很惱人
作者: Woqeker (窩顆ker)   2016-03-28 09:17:00
檔名編碼支援度…(略 這裡應該是中文檔名而不是非中文吧
作者: sawg (Mr.絲襪)   2016-03-28 09:17:00
謝樓上糾正 搞了整夜沒睡頭昏了我改一下...如果有更好的解決方法歡迎提出... (有朋友提到rsync
作者: yeuling9300 (姬髮式)   2016-03-28 09:44:00
欸sony的5.0還是有大量儲存模式耶?
作者: sawg (Mr.絲襪)   2016-03-28 09:50:00
樓上可以連內建SD空間? 還是只能連實體SD卡?
作者: sam613 (Hikaru)   2016-03-28 09:52:00
MTP各種不穩,以前我都備到SD卡再拔到PC,現在改用區網或FTP
作者: s91156 (CCU)   2016-03-28 09:52:00
我都懶得用線了XD,直接用AIRDROID
作者: sawg (Mr.絲襪)   2016-03-28 09:55:00
M7內建空間不能插卡啊啊啊啊啊AIRDROID時間格式會變動嗎?
作者: Tenka (Tenka)   2016-03-28 10:01:00
SONY兩個模式都一直在
作者: sawg (Mr.絲襪)   2016-03-28 10:10:00
HTC沒有 三星沒有 ASUS沒有 Nexus親兒子沒有原來SONY才是真良心嗎XD想問一下,SONY的大量儲存模式是能連進內建空間?
作者: junorn (威廉華勒斯)   2016-03-28 11:09:00
給樓上一張圖解釋一切 http://i.imgur.com/5dWnmUQ.png
作者: wuliou (wuliou)   2016-03-28 12:01:00
adb pull檔名亂碼問題應該是cmd害的你走powershell看看?
作者: Segal (Dino)   2016-03-28 12:36:00
Mtp-Alternative試試 走WebDAV的傳檔穩定性不錯拉大檔時PC端要改登錄檔 W7之後微軟新增限制
作者: grantchiue (AHIRU)   2016-03-28 12:56:00
MTP 真的...很麻煩。
作者: Kreen (每天要更優秀一點)   2016-03-28 13:05:00
感覺沒什麼方便的方案,照片和影片我都丟 flickr 反正不貴也不會錯亂,其他檔案重要的就用 dropsync 備份一下就好,其他方法弄半天搞得用個手機像是在找自己麻煩,尤其又不是單隻,自用、公司配的、平板,每個都要獨立去用也太累了。
作者: ChiuTW (Chiu)   2016-03-28 13:07:00
我用 BTSYNC
作者: popbitch (that's it)   2016-03-28 13:58:00
mtp速度比大量儲存模式慢很多,也不能預覽
作者: pennymarkfox (潘尼老狐狸)   2016-03-28 14:10:00
這個時後可以推我索粉我驕傲嗎?
作者: andy114425 (WTH...)   2016-03-28 14:19:00
MTP真的是垃圾中的垃圾,難用到不行。 傳輸慢又不穩,常常傳到一半當掉,開資料夾也常等老半天就當掉。 搞的我每次要拉資料出來都一肚子火。 所以我現在資料都不存在手機內建ROM,存記憶卡再把卡拔出用讀卡機都還比較快。 真不知GOOGLE跟MICROSOFT在想什麼...講到就不爽
作者: ymx3xc (U文多多)   2016-03-28 14:28:00
MTP真的糞 我媽的ZF5 老人家愛拍照片 有近上萬張後來直接放棄備份
作者: Kreen (每天要更優秀一點)   2016-03-28 14:29:00
咕狗和巨硬:賺雲端被備份的錢啊。
作者: jasonlai79 (柏)   2016-03-28 14:32:00
MTP應該是為了OSX吧?!
作者: hoho ( )   2016-03-28 18:38:00
好文推
作者: sawg (Mr.絲襪)   2016-03-28 20:03:00
@ChiuTW 這可以保留影片照片的產生日期嗎?
作者: mainline (OCISLY)   2016-03-28 20:22:00
ftp能保留文件創造時間 客戶端發個指令便能獲取時間 所以只要客戶端軟體設置/支援即可。mtp問題的確很多 我也受害過 但能理解為何會挑它 兼容性最佳
作者: sawg (Mr.絲襪)   2016-03-28 20:49:00
其實應該是修改時間 m兄有關鍵字做法嗎例如FileZilla的保留傳輸檔案的時間戳記?不過走FTP常常會掉包檔案不完整 尤其開多線的情況下...
作者: mainline (OCISLY)   2016-03-28 21:11:00
MDTM - return the modification time of a file沒錯 是修改時間 但必須由客戶端軟體自動獲取寫入才人道找找FZ設定 內應該有類似 保留伺服器文件時間 的選項有比較exotic的客戶端下載好後能自動用同文件夾內sfv資料來md5 hash的
作者: naviblue (綠魚)   2016-03-29 00:04:00
有人跟我一樣在mtp底下更名必當嗎
作者: tom282f3 (學妹戰士)   2016-03-29 00:32:00
我裝了Xposed之後根本連MTP都連不上了,有人一樣的嗎?
作者: ymx3xc (U文多多)   2016-03-29 10:23:00
xposed不會影響MTP 我四支手機都有上xposed
作者: zxc123270 (魯國王)   2016-03-30 08:32:00
我現在都用區網傳
作者: xvid (DivX)   2016-03-30 09:53:00
個人問題
作者: randy061 (061)   2016-04-02 21:36:00
MTP超爛,MSC才是王道

Links booklink

Contact Us: admin [ a t ] ucptt.com