Rename files

Jul 3, 2012·
Julio Batista Silva
Julio Batista Silva
· 1 min read
blog

My script

I wrote a Python program that took less than 24s for over 27500 files: https://github.com/jbsilva/renamer

It removes spaces and changes special characters recursively.

Renameutils

sudo pacman -S renameutils

Photos

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}' \
    .

If the files are already in a folder:

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' \

The folders #recycle and @eaDir are common in Synology NAS and should be ignored.

Aliases

Some useful aliases:

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
Authors
Senior Cloud Developer

I’m a Brazilian computer engineer based in Germany, passionate about tech, science, photography, and languages.

I’ve been programming for about two decades already, exploring everything from mobile apps and web development to machine learning. These days I focus on cloud SRE and data engineering.

I volunteer in the open source and Python communities, helping organize PyCon DE and PyData Berlin, mentoring, and contributing with code and translations.

On my blog, I share Linux tips, setup guides, and personal notes I’ve written for future reference. I hope others find them helpful as well. The content is available in multiple languages.

Browse my gallery for some of my photography.

Away from the keyboard, you’ll find me at concerts, playing clarinet, cycling, scuba diving, or exploring new places, cultures, and cuisines.

Always happy to connect! 🙂

comments powered by Disqus