Cross-Platform Batch File Renaming Tool
‘tren’ is a general purpose file and directory renaming tool. Unlike commands like ‘mv’, ‘tren’ is particularly well suited for renaming batches of files and/or directories with a single command line invocation. ‘tren’ eliminates the tedium of having to script simpler tools to provide higher-level renaming capabilities.
‘tren’ is also adept at renaming only part of an existing file or directory name either based on a literal string or a regular expression pattern. You can replace any single, group, or all instances of a given string in a file or directory name.
‘tren’ implements the idea of a renaming token. These are special names you can embed in your renaming requests that represent things like the file’s original name, its length, date of creation, and so on. There are even renaming tokens that will substitute the content of any environment variable or the results of running a program from a shell back into the new file name.
‘tren’ can automatically generate sequences of file names based on their dates, lengths, times within a given date, and so on. In fact, sequences can be generated on the basis of any of the file’s ‘stat’ information. Sequence “numbers” can be ascending or descending and the count can start at any initial value. Counting can take place in one of several internally defined counting “alphabets” (decimal, hex, octal, alpha, etc.) OR you can define your own counting alphabet. This allows you to create sequences in any base (2 or higher please :) using any symbol set for the count.
‘tren’ is written in pure Python and requires Python version 2.6.x or later. It is known to run on various Unix-like variants (FreeBSD, Linux, MacOS X, cygwin) as well as Windows. It will also take advantage of ‘win32all’ Python extensions on a Windows system, if they are present.