→ mainline : 簡稱蛋疼 這題回答會很長 吃飯先 08/10 19:24
推 mainline : 先問一盲點 個人沒用過webdav 你確定這樣抄modifi 08/10 19:48
→ mainline : ed date在電腦收件端的mod不會跑掉? 08/10 19:48
確定pass 因為備份到pc時時如果「修改日期」就亂掉 那我瞬間就會發現
我備份好多次皆正常 剛剛也有特地針對測試過
也注意到手機端跟pc端的「日期」屬性名稱不太一樣(都從pc端看)
手機端:有「修改日期(default)」、「建立日期」
https://i.imgur.com/WCJW0P8.png
pc端(從手機端copy出來後):變成「日期(default)」,其他種日期標籤都有
https://i.imgur.com/MsxmI1p.png <--這些就是備份出來的圖檔 日期都還在
但是要顯示什麼欄位其實是windows自己自訂檢視的
所以我也不懂 日期標籤的名稱差異或空缺 有什麼結論
因此結果更讓我困惑 手機端的圖片含有正確的日期資訊
備份到pc上時仍然還有 那怎麼複製回去就沒了
難道就是單純的資料庫欄位名稱不一樣 備份出來時有對應欄位可以填入
而備份回去時就找不到欄位填入,故統統一致改寫?
有空我再試試批次寫入時間標籤的軟體試試...
https://i.imgur.com/7NS2LBs.png <-- ex:也只有三種日期標籤
上網爬文的確有看到類似你說的儲存格式的問題
導致手機連接PC走MTP/PTP,而非以前的USB模式
但既然原本的日期資訊可以正常備份出來 那我就鐵了心想所有備份回去的方法試試看
爬文apk.tw的使用者回應把手機map成disk 用xcopy指令有成功
https://i.imgur.com/Q4spt7a.png
推 Segal : 通訊協定和port沒打錯吧? 08/10 19:56
→ Segal : 有回文說明過 08/10 19:56
嗯 沒打錯 照著server info打的
→ mainline : 那個webdav daemon軟體還有在維護嗎 看介面好古老 08/10 21:21
→ mainline : 在新系統上出這類問題不奇怪 08/10 21:21
剛剛測試webdav是好的 樓上s大提醒我通訊協定要打對 我看是http
在web browser有連接成功 但是只能read-only
我要copy圖片進手機的話 還是得走「新增網路磁碟機」的路
https://i.imgur.com/BL1tRfi.png <-- but still failed
→ mainline : 其實FTP應該更好用才對 請參考樓上連結文 而且手機 08/10 21:23
→ mainline : 端的FTP daemon還有在維護的比較多選擇 如solid e 08/10 21:23
→ mainline : xplorer的FTP插件 08/10 21:23
→ mainline : 至於最後的複製一與二 問題根源是同一個 08/10 21:29
→ mainline : 無解 換手機吧 08/10 21:29
→ mainline : 這問題是fuse造成的 大概是這樣的情況 約在安卓換 08/10 21:34
→ mainline : MTP同一時期 內部虛擬SD空間不再是格式化為ext或f 08/10 21:34
→ mainline : at 而是使用了潮貨fuse (file system in userspa 08/10 21:34
→ mainline : ce) 08/10 21:34
→ mainline : 白話說法是 從前的data是/data partition 虛擬sd是 08/10 21:45
→ mainline : /ext_sd partition 兩個獨立的partition 出廠前怎 08/10 21:45
→ mainline : 麼切就定終生了 如當年32GB HTC One X 大概這般/s 08/10 21:45
→ mainline : ystem 2G /data 2-3G dalvik /1-2G 虛擬 ext_sd 2 08/10 21:45
→ mainline : 4 後期就遭遇了app不能裝太多困境 因為安裝的APK檔 08/10 21:45
→ mainline : 與app內部資料 全都塞在data裡 說為何不切大一些 08/10 21:45
→ mainline : 因為切大會永久吃掉虛擬SD空間 賣32G手機結果開機 08/10 21:45
→ mainline : 剩不到20G會被罵死的道理 08/10 21:45
→ Segal : 吧... 08/10 21:51
→ Segal : 然後潮貨FUSE也退潮了,SDCardFS準備接棒潮一發 08/10 21:52
推 mainline : fuse解決了切分區的難題 因為安卓透過它在data分區 08/10 21:54
→ mainline : 內虛擬出一個“虛擬SD分區“ 可視成這個虛擬出來的 08/10 21:54
→ mainline : 分區 其實data分區內的一個文件 這樣就不用再另外 08/10 21:54
→ mainline : 切一個大大的虛擬SD分區給用戶塞文件了 成功解決了 08/10 21:54
→ mainline : data ext_s怎麼切都不滿意的難題 08/10 21:54
→ mainline : 但是fuse有個大弱點 性能不好 因為它活在userspac 08/10 22:03
→ mainline : e data分區使用的ext4驅動則是更底層kernel space 08/10 22:03
→ mainline : 成員 安卓4.3開始動工添加selinux強化底層安全性後 08/10 22:03
→ mainline : 間接造成了這一切寫入日期丟失的問題 因為在user 08/10 22:03
→ mainline : 的fuse無法直接將這指令下達了 08/10 22:03
→ mainline : 一直到三星開發了kernel space 的sdcardfs (註: 08/10 22:08
→ mainline : 名不符實,與SD卡無關)作為fuse的替代品 三星在某 08/10 22:08
→ mainline : 些手機上有偷跑這東西 但我不清楚是哪隻 08/10 22:08
→ mainline : 谷歌在開發安卓8同時 已將sdcardfs移交成為安卓ke 08/10 22:14
→ mainline : rnel分支一環 因此新機“應”該都會用它 舊機升安 08/10 22:14
→ mainline : 卓8的則要看廠商怎麼辦 一般舊機升級是不會特意去 08/10 22:14
→ mainline : 替換啦 資源有限就別多做事 免得多做多錯出事情的 08/10 22:14
→ mainline : 道理 08/10 22:14
推 mainline : 囉唆完的結語就是 要想保留正確的修改日期 你需要 08/10 22:19
→ mainline : 的是kernel使用sdcardfs的手機 這是出新手機不會交 08/10 22:19
→ mainline : 代的瑣碎資訊 但就我上頭說的 你可以大略知道那些 08/10 22:19
→ mainline : 手機有在使用它 08/10 22:19
wow 好多熱心板友 謝謝你們的資訊
我慢慢消化 嘗試後再來回報結果
確實我還沒試過ftp的方式 我試試
(更新) ftp copy圖片回手機仍然失敗 日期依舊跳掉了
※ 編輯: legendsaga74 (114.39.147.115), 08/10/2018 23:34:54
→ mainline : 注意電腦的客戶端 要設定寫入修改時間 客戶端通常 08/11 00:41
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
這是? 我用filezilla 設定裡面沒看到這樣的設定
→ mainline : 會將這項做成選項 08/11 00:41
(更新) 我成功用WebDAV去copy檔案過去了!
原來我WebDAV一直連失敗是因為在錯誤的視窗下操作
以WebDAV Server (Android)而言 server: http://192.168.1.113:8080
是要在「新增網路位置」下連接,而非在「連線網路磁碟機」下連接
https://i.imgur.com/z4Km2pP.png
而且若server有設帳密還連不到,可能帳密要塞進位址當中,故我server沒設帳密
接著爬文找到如何給網路位置一個磁碟代號
https://i.imgur.com/xqmaKrP.png
開始copy
https://i.imgur.com/8XevKJd.png
Result: FAIL 日期還是統一被改寫 放棄了:(
果然如m大所說 換一隻手機比較快 囧
※ 編輯: legendsaga74 (114.39.147.115), 08/11/2018 01:11:22
→ legendsaga74: 不過有學到WebDAV 好像比ftp好用 滿有趣的 08/11 01:13
→ Segal : 就知道是通訊協定問題XD。連線網路磁碟機是連SMB協 08/11 12:11
→ Segal : 定的,連WebDAV最快就直接位置列\\進去就好 08/11 12:11
→ Segal : 提供兩個思維給你。一是root後在su權限下跑SMB ser 08/11 12:19
→ Segal : ver。理論上繞過user spaces的FUSE直接存取。二是 08/11 12:19
→ Segal : 把圖檔打包(zip, tar隨便都好)傳回來再解包,應該 08/11 12:19
→ Segal : 可以保留Time stamp 08/11 12:19
thanks for nice idea
另外昨晚也有熱心板友來信提供想法
== 作者 jhangyu (jhangyu) ==
就是用Shell Script(bash)裡面的stat指令去取得檔案修改日期時間
然後把它重新命名成檔名
搬出來到Windows之後在重新把修改日期依照檔案名稱修正
這樣就OK了
不過你要跟bash熟一點,用for迴圈會比較省事
例如說:
for IMG in $(ls ${your_folder} | grep -P .*\.jpg)
mod_date=$(stat ${IMG} | grep Modify | awk -F. '{print $1}' | awk '{print $2
,$3}' | sed 's/[-:]/./g')
mv ${IMG} ${mod_date}.jpg
done
==
根據他的idea我決定去找現成更名工具 果然被我找到
https://i.imgur.com/JnySwVq.png
所以我可以在pc端批次更改檔名為「修改日期」
之後依檔名排序瀏覽即可 就不怕TimeStamp丟失了...
※ 編輯: legendsaga74 (114.39.147.115), 08/11/2018 13:22:10
推 mainline : 強! JHDR+在桶內都能搶舞台 08/11 18:01
→ mainline : 不曉得FileZilla對於MDTM指令是怎麼一回事 安卓FT 08/11 18:06
→ mainline : P daemon核心都是拿既有代碼libs移植過來的 FTP協 08/11 18:06
→ mainline : 議與指令歷史悠久 那些libs不會不支援這指令 08/11 18:06
推 mainline : @segal 繞不過fuse的 因為fuse是fuse 它活在其它f 08/11 18:21
→ mainline : ile system下 fuse不是在ext4分區內再模擬一個ext 08/11 18:21
→ mainline : 4分區 你要讀取它只能透過fuse driver 因為它有自 08/11 18:21
→ mainline : 己一套邏輯 它不是ext也不是fat般的存在 因此無法 08/11 18:21
→ mainline : 繞過 舉例data分區若是ext4的話 直接透過ext4驅動 08/11 18:21
→ mainline : 是無法讀取那個由fuse生出來的檔案 因為ext4根本搞 08/11 18:21
→ mainline : 不懂那東西的內容 08/11 18:21
推 mainline : BTW 若你還想試FTP的話 FTP在連線登錄訊息上 serv 08/11 18:38
→ mainline : er方會自己表明自己有支援的指令 你看看有沒有個M 08/11 18:38
→ mainline : DTM 若沒有見到那就是你使用手機的FTP_app本身就不 08/11 18:38
→ mainline : 支援 08/11 18:38
→ mainline : 我剛用solid explorer的FTP插件 搭電腦FTPrush客戶 08/11 18:40
→ mainline : 端 沒問題 rush是要去設定改說你要保留server文件 08/11 18:40
→ mainline : 時間 08/11 18:40
m大你談的FTP部份我都試了 結果都不行欸
1. filezilla的MDTM設定我找到並開啟了 試著上傳 PC(client) -> Phone(server)
日期丟失
2. FTP Rush https://i.imgur.com/F466jqa.png
日期還是丟失
我爬文時有看到是ftp server要有支援MFMT
client(PC)做上傳動作才會保留mod_date
http://blog.roodo.com/ystuan/archives/6171547.html
https://i.imgur.com/bwvSsTw.png
你的方案是下載時保留mod_date,可是我從手機copy出來本來就沒有date lost的問題
那上傳部份我用solid FTP + FTP Rush/Filezilla 試過都是fail
看來就是手機端ftp server不支援MFMT,那我client端就沒搞頭了
→ mainline : OR 我平常都直接透過solid連windows的SMB傳輸 在升 08/11 18:48
請問SMB是用什麼軟體/界面在傳輸的 關鍵字詳細希望~
→ mainline : 到Oreo後 文件雙向移動的修改時間都獲得保留 手機 08/11 18:48
→ mainline : 是Nexus 5X 谷歌有將fuse換成sdcardfs 在Oreo前 虛 08/11 18:48
→ mainline : 擬SD內的新文件修改時間只能等同創建時間 08/11 18:48
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
所以我現在對ftp也不太抱持希望 只能在client端照mod_date改名的方式將就著用
幸好也還ok
※ 編輯: legendsaga74 (114.39.147.115), 08/11/2018 23:48:01
→ mainline : 啊 我說的FTP部分的確是手機去電腦並保有mod_date 08/12 02:03
→ mainline : 的 因為覺得透過FTP會比webdav便利 08/12 02:03
→ mainline : 要從電腦_client 改 手機_server 的確是要使用MFM 08/12 02:07
→ mainline : T沒錯 就算FTP daemon支援也無解 原因不外乎就是上 08/12 02:07
→ mainline : 面說的 08/12 02:07
→ mainline : SMB - samba 就是windows在局域網共享文件的那個東 08/12 02:12
→ mainline : 西啦 應該與webdav雷同 大概差在兩者是基於不同OS 08/12 02:12
→ mainline : I層級基礎上開發的 08/12 02:12