Si usted tiene ambos, SetFile
y GetFileInfo
, se puede establecer la fecha de creación al de la fecha de modificación en .IMG
archivos haciendo lo siguiente:
En la Terminal, primero cambie el directorio cd
a la ubicación de la meta .IMG
archivos.
cd /path/to/target/files
A continuación, ejecute el siguiente comando compuesto:
for f in *.[iI][mM][gG]; do m="$(GetFileInfo -m "$f")"; SetFile -m "$m" -d "$m" "$f"; done
Nota: siempre es una buena idea probar primero en una pequeña muestra de los archivos de destino copiar a otra carpeta y comprobar los resultados de la primera, a continuación, proceder en los archivos originales. También se debe tener siempre normal regular de copias de seguridad antes de continuar, e.g el uso de Time Machine u otro software de copia de seguridad.
Si usted no tiene GetFileInfo
y desea utilizar stat
, y luego directamente después de la do
reemplazar:
m="$(GetFileInfo -m "$f")";
Con:
m="$(stat -f'%Sm' -t "%m/%d/%Y %H:%M:%S" "$f")";
Dando el comando compuesto:
for f in *.[iI][mM][gG]; do m="$(stat -f'%Sm' -t "%m/%d/%Y %H:%M:%S" "$f")"; SetFile -m "$m" -d "$m" "$f"; done
Nota: Esto se supone que tienen al menos una .IMG
archivo en el directorio, de lo contrario se provoca un error no fatal, lo que significa que no ha cambiado nada:
stat: *.[iI][mM][gG]: stat: No such file or directory
ERROR: invalid date/time
El uso de find
, ver glenn jackman de la respuesta.