在我的第一个问题中:如何获取 NTFS 逻辑卷上文件的创建日期,我问如何获取NTFS-3G中的“创建日期”字段。现在,我知道我可以获得“创建日期”,我已开始将文件添加到 NTFS-3G 分区上,并希望将每个文件的“创建日期”设置为其“修改日期”值。
由于这需要在整个文件存储库上完成,因此我想将其递归地应用到单个目录上。如果我知道如何对单个文件执行此操作,我可能可以自己进行递归,但如果您想添加它,我会非常高兴。
答案1
扩展属性system.ntfs_times
包含 32 个字节,由 64 位整数的 btime、mtime、atime、ctime 组成。
例如,您可以列出它们:
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=-