Filename Sanitizer
Here is a Python script to sanitize filenames that be transferred to a Windows file system. This script will recursively go through a directory and replace the bad characters with underscores. Not sure if this script knows about all the bad ones, but it worked in my case at least.
Check it out:
#!/usr/bin/python import os import sys bad_characters = r'?<>\:*|"' replacement = '_' if len(sys.argv) < 2: print "Usage: %s <directory> [yes]" % (sys.argv[0]) sys.exit(1) do_it = False if len(sys.argv) > 2: if sys.argv[2] == 'yes': do_it = True for directory, dirnames, filenames in os.walk(sys.argv[1], topdown=False): for name in filenames + dirnames: newname = name for bad in bad_characters: newname = newname.replace(bad, replacement) if newname != name: oldpath = os.path.join(directory, name) newpath = os.path.join(directory, newname) print "%s -> %s" % (oldpath, newpath) if do_it: os.rename(oldpath, newpath)