Files

如何遞歸地將創建日期屬性設置為 NTFS-3G 上的日期修改屬性?

  • August 2, 2020

在我的第一個問題中:如何獲取 NTFS 邏輯卷上文件的創建日期,我詢問瞭如何獲取 NTFS-3G 中的“創建日期”欄位。現在,我知道我可以獲得“創建日期”,我已經開始將文件添加到我的 NTFS-3G 分區上,並希望將每個文件的“創建日期”設置為其“修改日期”值。

由於這需要在整個文件儲存庫上完成,我想遞歸地將它應用到單個目錄。如果我知道如何為單個文件執行此操作,我可能會自己進行遞歸,但如果您想添加它,我會非常高興。

擴展屬性包含 32 個字節,system.ntfs_times由 btime、mtime、atime、ctime 作為 64 位整數組成。

您可以列出它們,例如:

getfattr --only-values -n system.ntfs_times -- "$file" |
 perl -MPOSIX -0777 -ne 'print ctime $_/10000000-11644473600 for unpack("Q4",$_)'

因此,您可以將第二個整數複製到第一個整數,如下所示:

getfattr -n system.ntfs_times -e hex -- "$file" |
 sed '2s/0x.\{16\}\(.\{16\}\)/0x\1\1/' |
 setfattr --restore=-

引用自:https://unix.stackexchange.com/questions/89089