[ANN]: 'tren' Cross-Platform Batch Renaming Tool, Version 1.239 Released

Tim Daneliuk tundra at tundraware.com
Thu Nov 18 03:31:13 CET 2010

'tren' Version 1.239 is now released and available for download at:


The last public release was 1.217.

What's New In This Release?

This release fixes several critical bugs and adds a number
of new features.  Existing users are urged to upgrade at their 
earliest opportunity:

FIXED: Backups weren't being improperly named.

FIXED: Changed TREN envvar processing to properly parse quoting.

FIXED: Each renaming target must either be something that exists or a
       wildcard that expands to something that exists.  Formerly,
       nonexistent renaming targets were silently ignored.

NEW: Debug now shows the incremental change to each file name as each
     renaming request is applied left-to-right.  Use -dq to see this
     more clearly.

NEW: The environment variable TRENINCL is now supported.
     This allows you to specify a path to search when
     looking for include files.

NEW: Implemented /NAMESOFAR/ renaming token.

NEW: Added -e type case conversion option - new kind of renaming request.

        c - Capitalize
        l - Lower
        s - Swap case
        t - Title -> Char's followiing non-alpha are capitalized
        u - Upper

NEW: Added -T option to allow user to "target" a substring of
            the full filename for renaming

OTHER: Documentation additions and updates including
       clarification of old features, description of
       new features, and improved table-of-contents
       for PDF and PS document formats.

What Is 'tren'?

'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

'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) as well as Windows.  It will
also take advantage of 'win32all' Python extensions on a Windows
system, if they are present.


Complete details of all fixes, changes, and new features can be found in
the WHATSNEW.txt and documentation files included in the distribution.

A FreeBSD port has been submitted as well.

More information about the Python-announce-list mailing list