¿Cómo cambiar la fecha / hora de creación (st_birthtime) de un archivo en Lion? [duplicar]

7

touch(1) solo puede cambiar modificación y acceso , pero no tiene opciones para creación . Esto no funciona, en Al menos no en Lion.

Entonces, ¿cómo cambio el tiempo de creación , también denominado hora de nacimiento en fstat(2) ? No hay una llamada correspondiente en utimes(2) y no parece haber ninguna herramienta de línea de comandos para esto.

Sé que puedo copiar el archivo en un archivo nuevo, que luego se actualiza como hora de nacimiento (y luego borra el original), pero seguramente debe haber una mejor manera.

    
pregunta Ingmar Hupp 20.04.2012 - 01:48

2 respuestas

6

touch -t también cambia la hora de creación si la hora de modificación del objetivo es anterior a la hora de creación original.

SetFile puede configurar el tiempo de creación antes de la hora de modificación o en el futuro.

-d date    Sets the creation date, where date is a string of the
           form: "mm/dd/[yy]yy [hh:mm:[:ss] [AM | PM]]" Notes:
           Enclose the string in quotation marks if it contains spa-
           ces. The date must be in the Unix epoch, that is, between
           1/1/1970 and 1/18/2038. If the year is provided as a two-
           digit year, it is assumed to be in the 21st century and
           must be from 00 (2000) through 38 (2038).

Esto establecería el tiempo de creación al tiempo de modificación:

SetFile -d "$(GetFileInfo -m test.txt)" test.txt

SetFile y GetFileInfo forman parte del paquete de herramientas de línea de comandos, que se puede descargar desde las preferencias de Xcode o developer.apple.com/downloads .

    
respondido por el user495470 07.08.2012 - 15:33
-1

Prueba:

cat filename > newfile
mv filename ~/.Trash/
mv newfile filename 

Eso debería funcionar.

    
respondido por el Sean Freitag 20.04.2012 - 03:40

Lea otras preguntas en las etiquetas