Batch renaming

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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 software exists for most operating systems.

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

Common functions[edit]

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[edit]

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 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.

Basic renaming problems[edit]

There are a few problems to take in consideration when renaming a file list.
(→ means: renamed to)

  • Detecting that the target filename already exist.

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

  • Detecting that the target filename is already used.

file01 → file03
file02 → file03 (file03 is already used)

  • Detecting cycle renaming (Solved by a two-pass renaming).

file01file02 (file02 already exists in file-system)
file02file03 (file03 already exists in file-system)
file03file01 (file01 already exists in file-system)

Two-pass renaming[edit]

A two-pass renaming use a temporary filename (that doesn't exist in file-system) as shown below.
(→ means: renamed to)

  • First pass

file01 → file01_AAAAA
file02 → file02_AAAAB
file03 → file03_AAAAC

  • Second pass

file01_AAAAA → file02
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 batch renaming software[edit]

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

Name License Windows Mac OS X Linux BSD/FreeBSD Unix-like
Advanced Renamer Free Yes No No No No
Aperture Commercial No Yes No No No
Automator Commercial No Yes No No No
Bulk Rename Utility Free Yes No No No No
GNOME Commander Free, GNU General Public License Yes
(via Cygwin)
No Yes Yes Yes
GPRename Free, GNU General Public License v3 No No Yes Yes Yes
KRename Free, GNU General Public License v2 No No Yes Yes Yes
Métamorphose Free, GNU General Public License v3 Yes Yes Yes Yes Yes
AlgoLogic Batch File Renamer Commercial Yes No No No No
Bulk Rename Utility Free Yes No No No No
Unreal Commander Free Yes No No No No
Vi move (vimv) Free, GNU General Public License v3+ Yes
(via Cygwin)
Yes Yes Yes Yes
vifm Free, GNU General Public License v2+ Yes Yes Yes Yes Yes

Footnotes[edit]

See also[edit]