
私の最初の質問から:NTFS論理ボリュームからファイル作成日を取得する方法、NTFS-3Gから「Creation Date」フィールドを取得する方法を尋ねました。 「生成日」を取得できることがわかったので、NTFS-3Gパーティションにファイルを追加し始め、各ファイルの「生成日」を「修正日」の値に設定しようとしています。
これはファイルストア全体で行う必要があるため、個々のディレクトリに繰り返し適用したいと思います。単一のファイルに対してこれを行う方法を知っている場合は、おそらく直接再帰を実行できます。しかし、追加したい場合はとても嬉しいです。
答え1
拡張属性system.ntfs_times
には、64ビット整数btime、mtime、atime、およびctimeで構成される32バイトが含まれます。
たとえば、次のようにリストできます。
getfattr --only-values -n system.ntfs_times -- "$file" |
perl -MPOSIX -0777 -ne 'print ctime $_/10000000-11644473600 for unpack("Q4",$_)'
したがって、次のように、2番目の整数を最初の整数にコピーできます。
getfattr -n system.ntfs_times -e hex -- "$file" |
sed '2s/0x.\{16\}\(.\{16\}\)/0x\1\1/' |
setfattr --restore=-