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' ."
Julio Batista Silva
Julio Batista Silva
Data Engineer

I’m a computer engineer passionate about science, technology, photography, and languages. Currently working as a Data Engineer in Germany.

comments powered by Disqus