有什麼方法可以保護檔案「建立日期」元資料嗎?

有什麼方法可以保護檔案「建立日期」元資料嗎?

我最近一直在檢查和重新組織舊照片 - 遇到很多情況,其中Date created元數據不會反映照片拍攝(或掃描)的日期,而是給出最後從另一個存檔目錄複製它們的日期時間(我假設) 。雖然我的具體場景只涉及圖像文件,但我正在尋找一種可以應用於任何文件類型的解決方案。

是否有任何提示/技術可以幫助防止將來在 Windows/Linux 上發生這種情況,例如將Date created元資料設定為唯讀?

另外,任何關於如何設定估計值(或精確值)Date created以更正這些已更新文件的提示將不勝感激:)

答案1

「創建日期」是無意義的,它一直只是關於特定的實例該文件的。 Windows 不允許手動更改它,Linux 通常甚至不允許直到最近。 (即便如此,只有一些檔案系統保留「出生」時間,並且沒有通用的 API 來存取它。注意,Linux 上的「ctime」是不是創建時間。

你會更幸運地嘗試保存“修改日期”時間戳,更多的是關於內容文件的。這就是大多數文件管理器向您展示的內容。大多數程式已經預設保留它 – 它由 Dropbox 保存,保存在 Zip 檔案中,甚至在下載檔案時傳輸透過網路

所以我的一般建議是尋找“鎖定”的方法修改的時間戳。鎖定比較困難(儘管可能不是很必要),但在 Linux 上,編寫一個腳本至少會很簡單備份還原它:

#!/usr/bin/env perl
sub mtime { return (stat shift)[9]; }
print "#!/bin/sh\n";
for $file (grep {-f} glob("*")) {
    print "touch -d @".mtime($file)." '$file'\n";
}

(嗯,這是一個備份腳本產生恢復腳本。

不過,你說的是照片。我猜它們是以 JPEG 格式儲存的,而不是「原始」格式。大多數照片管理工具都支援在 JPEG 中嵌入「Exif」元數據,並且大多數相機會自動執行此操作。因此,對於 Windows,在檔案總管中,您只需啟用“拍攝日期”列而不是“建立/修改日期”,它就會顯示 JPEG 檔案中的照片日期。

相關內容