Batch renaming

Batch renaming is a form of batch processing used to rename multiple computer files and folders in an automated fashion, in order to save time and reduce the amount of work involved. Some sort of software is required to do this. Such software can be more or less advanced, but most have the same basic functions.

Batch renaming can also be referred to as 'mass file renaming', rename 'en masse' and 'bulk renaming'.

Common functions
Most batch renamers share a basic set of functions to manipulate the filenames:


 * Find a string within the filename and replace it with another, or remove it.
 * Setting the capitalization of the letters in the filenames.
 * Extracting information from the files, such as Mp3 ID3 tags, and putting it in the filename.
 * Add a number sequence (001,002,003,...) to a list of files.
 * Use a text file as a source for new file names.

Some batch rename software can do more than just renaming filenames. Features include changing the dates of files and changing the file attributes (such as the write protected attribute).

Common uses
There are many situations where batch renaming software can be useful. Here is a list of some common uses:


 * Many digital cameras store images using a base filename, such as DCSN0001 or IMG0001. Using a batch renamer the photographer can easily give the pictures meaningful names.
 * When downloading files from the Internet such as mp3 music, the files often have crude names. A batch renamer can be used to quickly change the filenames to a style that suits the person who downloaded them.
 * When managing large amount of files, such as a picture database, a batch renamer is more or less essential for the task of maintaining filenames without too much manual labour.
 * When authoring music files onto a CD/DVD or transferring the files to a digital audio player, a batch renamer can be used to listen to songs in desired order.
 * When uploading files to a web server or transferring the files to an environment that does not support space or non-English characters in filenames, a batch renamer can be used to substitute such characters with acceptable ones.

Problems
There are a few problems to take in consideration when renaming a file list.

(→ means: renamed to)

file01 → file02 (file02 already exists in file-system)
 * Detecting that the target filename already exist.

file01 → file03
 * Detecting that the target filename is already used.

file02 → file03 (file03 is already used)

file01 → file02 (file02 already exists in file-system)
 * Detecting cycle renaming (Solved by a two-pass renaming).

file02 → file03 (file03 already exists in file-system)

file03 → file01 (file01 already exists in file-system)

Two-pass renaming
Two-pass renaming uses a temporary filename (that doesn't exist in file-system) as shown below.

(→ means: renamed to)

file01 → file01_AAAAA
 * First pass

file02 → file02_AAAAB

file03 → file03_AAAAC

file01_AAAAA → file02
 * Second pass

file02_AAAAB → file03

file03_AAAAC → file01

It solves the cycle renaming problem.

If this approach is to be used care should be taken not to exceed any filename length limits during the rename, and also that the temporary names do not clash with any existing files.

List of software
This is a list of notable batch renaming programs in the form of a comparison table.