pyRenamer

pyRenamer
Mass rename files

WHAT IS THIS?

With pyRenamer you can change the name of several files at the same time easily.

→ You can use patterns to rename files.
→ You can use search & replace to rename files.
→ You can use common substitutions.
→ You can manually rename selected files.
→ You can rename images using their EXIF tags.
→ You can rename MP3s using their ID3 tags.

It is written using PyGTK for the GNOME Desktop, altought it will work in any PyGTK enabled environment (KDE, XFCE, even Windows), and it's licensed under the GPL.

WHERE CAN I DOWNLOAD IT?

You can get 0.5.0 release from here: pyrenamer-0.5.0.tar.gz

Ubuntu Hardy / Debian Unstable package here: pyrenamer_0.5.0-1_all.deb
Ubuntu Gutsy package here: pyrenamer_0.5.0-1_all~gutsy.deb

In Debian and Ubuntu you just need to do apt-get install pyrenamer

Changes for version 0.5.0 (2008-04-09):
* Added option to read new file names from a text file
* Smaller progress bar and new stop icon
* Added option to replace spaces to dashes and viceversa
* Czech language accents replacement (thanks to Jan Virt)
* Fixed pygtk imports (add pygtk.require())

Changelog for current SVN trunk version and screenshots

HOW CAN I INSTALL IT?

From source code:
$ wget http://www.infinicode.org/code/pyrenamer/pyrenamer-0.5.0.tar.gz
$ tar xzvf pyrenamer-0.5.0.tar.gz
$ cd pyrenamer-0.5.0
$ ./configure --prefix /usr
$ sudo make install

Ubuntu/Debian package:
$ wget http://www.infinicode.org/code/pyrenamer/pyrenamer_0.5.0-1_all.deb
$ sudo dpkg -i pyrenamer_0.5.0-1_all.deb

Ubuntu Gutsy (official universe repositories): Version 0.4.1
$ sudo apt-get install pyrenamer

Debian Unstable/Testing (official main repositories): Version 0.4.1
$ su -c "apt-get install pyrenamer"

FreeBSD port: (thanks to Mezz)
Port:    # cd /usr/ports/sysutils/pyrenamer && make install clean
Package: # pkg_add -r pyrenamer

From latest SVN code:
$ svn co http://svn.infinicode.org/pyrenamer/trunk/pyrenamer
$ cd pyrenamer
$ ./autogen.sh --prefix /usr
$ sudo make install

Build and install Ubuntu package from SVN:
$ svn co http://svn.infinicode.org/pyrenamer/trunk/pyrenamer
$ cd pyrenamer
$ ./build_deb.sh
$ sudo dpkg -i ~/pyrenamer-deb/pyrenamer_0.5.0+svn*.deb

You will have a folder called pyrenamer-deb on your home dir

CAN I SEE THE SOURCE CODE?

Sure, you can browse the code in my SVN repository.
You can also read the changelog.

I HAVE A SUGGESTION OR BUG REPORT

Ok, send an email to code [at] infinicode [dot] org

HOW DOES IT LOOK LIKE?

Current svn trunk version (will be 0.6.0)


Current stable version 0.5.0







MANUAL - HOW TO USE PATTERNS?


Video manual




User contributed video manual (spanish)
Thanks to Guillermo Latorre


Text manual
So you have some downloaded files with names like this:
Jericho.S01E01.Pilot.HDTV.XviD-XOR.avi
Jericho.S01E02.Fallout.HDTV.XviD-XOR.avi
Jericho.S01E03.Four.Horsemen.HDTV.XviD-XOR.avi
Jericho.S01E04.The.Walls.of.Jericho.HDTV.XviD-LOL.avi
Jericho.S01E05.Federal.Response.HDTV.XviD-LOL.avi
First of all, replace all dots with spaces (Substitutions tab)
Then, replace " avi" with ".avi"(Substitutions tab)

Then go to Pattern tab.

Set original file name pattern to get series name, season, episode number, and episode title to:
{C} S{C}E{C} {X} HDTV{@}.avi
This will lead to this result (on third episode, for example):
{1} -> Jericho
{2} -> 01
{3} -> 03
{4} -> Four.Horsemen
	
So if you use this renamed file pattern:
{2}x{3} - {1} - {4}.avi
You will get:
01x01 - Jericho - Pilot.avi
01x02 - Jericho - Fallout.avi
01x03 - Jericho - Four Horsemen.avi
01x04 - Jericho - The Walls of Jericho.avi
01x05 - Jericho - Federal Response.avi