1 votos

Cómo puedo establecer la Fecha de la Última Modificación del archivo después de usar HandbrakeCLI para convertir un archivo?

Ejecutar esto en OS X Lion.

Estoy de conversión por lotes de varios cientos de películas en casa con el Freno de mano de la CLI. Me gustaría establecer la fecha de la última modificación y la fecha de creación para que el archivo original.

Estoy usando la siguiente secuencia de comandos:

for f in "$@"; do
  base=${f%.*}
  extension=${f##*.}
  newfile=${base}.m4v
  echo Converting \"$f\" to \"$newfile\"
  /Applications/HandBrakeCLI  -e x264 -b 4000 -a 1 -E faac -B 160 -R 48 -6 dpl2 -f mp4 --crop 0:0:0:0  -x level=40:ref=2:mixed-refs:bframes=3:weightb:subme=9:direct=auto:b-pyramid:me=umh:analyse=all:no-fast-pskip:filter=-2,-1 -i "$f" -o "$newfile"    
done

Puedo ejecutar esta secuencia de comandos ejecutando:

find . -name "*.avi" -print0 | xargs -0 hbapple.sh

¿Alguien tiene ideas sobre cómo puedo configurar la última modificación y la hora de creación del archivo original para que de los $nuevoarchivo?

Si no estoy de averiguar cómo hacer esto voy a tener un tiempo difícil saber cuándo estos videos se crearon, en realidad.

Agradezco cualquier ayuda o consejos

2voto

La fecha de modificación se puede establecer con

touch -m -t 201207010742 whatever.m4v

AFAIK la creación y la fecha de nacimiento no puede ser modificada.

Para establecer la fecha de modificación de la base en la fecha de creación de otro archivo que se puede utilizar stat:

touch -m -t $(stat -f %SB -t %Y%m%d%H%M original-file.mov) new-file-m4v

Para aplicar esto a la secuencia de comandos, usar algo como

for f in "$@"
  do
     olddate=$(stat -f %SB -t %Y%m%d%H%M "$f")
     base=${f%.*}
     extension=${f##*.}
     newfile=${base}.m4v
     echo Converting \"$f\" to \"$newfile\"
     /Applications/HandBrakeCLI  -e x264 -b 4000 -a 1 -E faac -B 160 -R 48 -6 dpl2 -f mp4 --crop 0:0:0:0  -x level=40:ref=2:mixed-refs:bframes=3:weightb:subme=9:direct=auto:b-pyramid:me=umh:analyse=all:no-fast-pskip:filter=-2,-1 -i "$f" -o "$newfile"
     touch -m -t $olddate "$newfile"    
  done

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X