Hablemos de GNU/Linux…
El comando “touch” nos resulta útil para cambiar la fecha y hora de un archivo determinado.
Ejemplo 1.
Cambiar la fecha y hora del archivo “documento.txt” a la fecha 26/11/216 hora 15:30
touch -t 201611261530 documento.txt
Si el archivo “documento.txt” no existe, touch lo creará vacío.
Ejemplo 2.
Cambiar la fecha y hora del archivo “documento2.txt” a la fecha y hora actuales.
touch documento2.txt
Ejemplo 3.
Cambiar la fecha y hora de todos los archivos y subcarpetas contenidos en nuestra carpeta:
touch -t 201611261530 *.*
El problema es que no actúa de manera recursiva.
Es decir: cambia la fecha y hora a todos los archivos y subcarpetas de nuestra carpeta, pero no entra en las subcarpetas para cambiar la fecha y hora de los archivos y subcarpetas contenidas en las mismas.
Es más: touch no dispone de ninguna opción para hacerlo recursivo.
Pero podemos utilizar el truco que se expone en el ejemplo 4 y ejemplo 5.
Ejemplo 4.
Cambiar la fecha y hora de todos los archivos y carpetas, así como del contenido de las mismas (recursivamente) con la fecha actual:
find . -exec touch {} +
Ejemplo 5.
Cambiar la fecha y hora de todos los archivos y carpetas, así como del contenido de las mismas (recursivamente) con la fecha 22/07/2006 y la hora 13:59:49
find . -exec touch -mt 200607221359.49 {} +
Más información:
https://en.wikipedia.org/wiki/Touch_(Unix)
http://stackoverflow.com/questions/19090731/recursively-touch-files-with-file
Archivado en: Software, Uncategorized Tagged: cambiar fecha y hora, date, fecha, find . -exec touch {}, GNU/LInux, hora, Linux, recursivo, time, touch, touch recursive switch, touch recursivo