chromebob.com/projects/polymorph -- original homepage
-- filesystem "unixier"
Polymorph was written after I started downloading images from Usenet.
Many, many filenames were mangled by MS Outlook and other, less caring, newsagents. There were files with goofy names like C:\\PIX\\HUBBLE\\Eagle\ Nebula\ 0532.JPG and this, of course, is unacceptable. This program looks in the current working directory and finds goofy filenames like this. It then renames the file after converting all the characters to lowercase and trimming the cruft from the original. The previous example turned out to have the name eagle_nebula_0532.jpg which is much more useful.
There are a number of commandline switches. You can make polymorph convert hidden file's names, but it normally ignores them. You can make polymorph track symlinks down, or just re-name the link portion.
As always, if you have any suggestions, let me know.
Here's the latest source code: polymorph-0.4.0.tar.gz. (~46kb)
Here's the latest ChangeLog.
Any older versions are kept here:
You can get your mits on the bleeding-edge version of polymorph from the cvs archive. Please read the warning posted at the bottom of this page, and use good sense when modifying this program!
I'm pretty open to suggestions and code snippets. Let me know if you'd like to see new or different features. Have fun!
I would like to make polymorph traverse directories recursively. Let's assume you have a directory set up like this:
To clean everything up, just cd ~/images RET and call golem with the recursive switch with polymorph -r. Polymorph should be smart enough not to get caught in an infinite loop where there's a directory symlinked back on itself...
It should be noted that the polymorph can cause quite a bit of damage to your filesystem, if used incorrectly. This program renames files automatically with great abandon and terrible speed! If you tinker with the source before compiling, there could be consequences beyond the ken of Mortal Man and All-Knowing Sysadmin.
Remember; polymorph is released under the GNU Public License. There's no warranty of any kind if there is a problem. You're accepting responsibility by downloading and compiling the program. This does NOT mean I'm unsympathetic. I'll do what I can to help fix the program, but there's nothing I can do for your filesystem. That's what backups are for!