Como recursivamente defino o atributo data criada para o atributo data de modificação no NTFS-3G?

3

Na minha primeira pergunta , perguntei como obter o campo" Data de criação "no NTFS-3G. Agora que sei que posso obter a "Data de criação", comecei a adicionar arquivos à minha partição NTFS-3G e gostaria de definir a "Data de criação" de cada arquivo para o valor "Data de modificação".

Como isso precisa ser feito em todo um repositório de arquivos, eu gostaria de aplicá-lo recursivamente em um único diretório. Se eu sei como fazer isso para um único arquivo, eu provavelmente poderia fazer a recursão, mas se você quiser adicionar isso, eu ficaria mais do que feliz.

    
por NobleUplift 01.09.2013 / 23:12

1 resposta

1

O atributo system.ntfs_times extended contém 32 bytes que consistem em btime, mtime, atime e ctime como inteiros de 64 bits.

Você pode listá-los com, por exemplo:

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

Você pode simplesmente copiar o segundo inteiro para o primeiro com algo como:

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