Come posso impostare Data ultima modifica del file dopo aver usato HandbrakeCLI per convertire un file?

1

Esecuzione su OS X Lion.

Sto convertendo in batch diverse centinaia di filmati domestici usando la CLI del freno a mano. Vorrei impostare l'ultima data di modifica e la data di creazione su quel file originale.

Sto usando il seguente script:

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

Eseguo questo script eseguendo:

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

Qualcuno ha dei pensieri su come posso impostare l'ultima modifica e il tempo di creazione del file originale a quello del $ newfile?

Se non capisco come farlo, avrò difficoltà a sapere quando questi video sono stati effettivamente creati.

Apprezzo qualsiasi aiuto o suggerimento

    
posta Kappy26 26.07.2012 - 16:56
fonte

1 risposta

2

La data di modifica può essere impostata con

touch -m -t 201207010742 whatever.m4v

AFAIK la data di creazione / nascita non può essere modificata.

Per impostare la data di modifica in base alla data di creazione di un altro file, puoi utilizzare stat :

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

Per applicare questo al tuo script, usa qualcosa come

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
    
risposta data 26.07.2012 - 17:30
fonte

Leggi altre domande sui tag