Renomear arquivos
Meu script
Eu escrevi um programa em Python que demorou menos de 24s para mais de 27500 arquivos: https://github.com/jbsilva/renamer
Ele remove espaços e troca caracteres especiais de forma recursiva.
Renameutils
sudo pacman -S renameutils
Fotos
exiftool -r -P \
-i '#recycle' \
-i '@eaDir' \
-i 'SYMLINKS' \
-i 'HIDDEN' \
-d '%Y%m%d_%H%M%S' \
'-filename<%f-${ImageSize}%-03c.%le' \
'-filename<${CreateDate}%-03c.%le' \
'-filename<${DateTimeOriginal}%-03c.%le' \
.
exiftool -r -P \
-i '#recycle' \
-i '@eaDir' \
-i 'SYMLINKS' \
-i 'HIDDEN' \
-d '%Y/%m' \
'-Directory<${CreateDate}' \
'-Directory<${DateTimeOriginal}' \
.
Se os arquivos já estiverem em alguma pasta:
find . \
-mindepth 1 -maxdepth 1 \
-type d \
-not \( -name '#recycle' -prune \) \
-not \( -name '@eaDir' -prune \) \
-print0 | xargs -0 -n1 \
exiftool -r -P -d '%Y%m%d_%H%M%S' \
'-filename<%f-${ImageSize}%-03c.%le' \
'-filename<${CreateDate}%-03c.%le' \
'-filename<${DateTimeOriginal}%-03c.%le' \
As pastas #recycle
e @eaDir
são comuns em NAS da Synology e devem ser ignoradas.
Aliases
Alguns aliases úteis:
alias recc='rename -X -c --rews --camelcase --nows'
alias qmvv='qmv --format=dc --options=spaces,width=40,autowidth'
alias qmvo='qmv --format=destination-only'
alias qmvor='qmv -R --format=destination-only'
alias exif_move="exiftool -P -i '#recycle' -i '@eaDir' -i 'SYMLINKS' -i 'HIDDEN' -d '%Y/%m' '-Directory<${CreateDate}' '-Directory<${DateTimeOriginal}' ."
alias exif_rename="exiftool -P -i '#recycle' -i '@eaDir' -i 'SYMLINKS' -i 'HIDDEN' -d '%Y%m%d_%H%M%S' '-filename<%f-${ImageSize}%-03c.%le' '-filename<${CreateDate}%-03c.%le' '-filename<${DateTimeOriginal}%-03c.%le' ."