Alterar o tempo de criação de arquivo em um sistema de arquivos FAT

8

Preciso de uma maneira de alterar o horário de criação de um arquivo em um volume FAT32 montado. Eu tenho que fazer isso porque meu MP3 player só lê arquivos classificados por esse horário de criação.

Se eu conseguir encontrar uma maneira de definir o tempo de criação do arquivo (como touchpode ser feito com o tempo de modificação / acesso) de um arquivo, um script trivial permitirá que os arquivos MP3 sejam lidos na ordem correta (como esperado, em ordem alfabética).

Mas ainda não encontrei uma solução, e minhas pesquisas foram em vão. Eu espero que vocês possam me ajudar !

Artefato2
fonte

Respostas:

5

A primeira coisa que vem à mente é mvo arquivo (s) para um cparquivo temporário, o arquivo temporário para o nome do arquivo antigo e excluir o arquivo temporário.

Acabei de fazer uma verificação rápida:

touch foo
ls -l foo

retorna:

0 -rw-r--r-- 1 shunz shunz 0 2011-03-22 11:07 foo

espere alguns minutos e depois:

mv foo bar
ls -l bar

0 -rw-r--r-- 1 shunz shunz 0 2011-03-22 11:07 bar

observe que o horário de criação não é modificado, enquanto:

cp bar foo
ls -l foo bar

0 -rw-r--r-- 1 shunz shunz 0 2011-03-22 11:07 bar
0 -rw-r--r-- 1 shunz shunz 0 2011-03-22 11:10 foo

agora foo é criado no tempo atual!

EDITAR

desculpe, esqueci de mencionar, tentei isso em um pendrive formatado em FAT32 no Ubuntu.

Mr Shunz
fonte
4

Finalmente, acabei usando o fatsort , que faz o trabalho muito bem, e também é muito mais rápido do que copiar os arquivos repetidamente.

Artefato2
fonte