I have written a small python script to remove all characters from filenames that makes handling them under *nix difficult.
Perhaps this can help you as well.
#! /usr/bin/python # -*- coding: UTF-8 -*- """ usage: fixFileNames.py FILE... Renames FILEs to sensible names, avoiding collision. """ import sys import os from string import maketrans def fixFileName(file): ''' move file to filename: - without spaces, pipe characters, quotes ''' intab = ' |' outtab = '__' trantab = maketrans(intab, outtab) newFileName = file.translate(trantab, '\'\"').replace('_-_', '-') if file != newFileName: #only renames file if it's name contains any unwanted characters if os.path.exists(newFileName): print "ERROR: Not renaming %s, %s exists already" % (file, newFileName) else: print "renaming %s to %s" % (file, newFileName) os.rename(file, newFileName) # else: # print "file %s and newFilename %s are equal" % (file, newFileName) if __name__ == "__main__": if not len(sys.argv) > 1: print __doc__ sys.exit(1) for file in sys.argv[1:]: fixFileName(file)
Anyone is free to use and or improve this. If you have any improvements I'd like to hear about them.