Hi -- On Fri, 8 Jul 2005, Ezra Zygmuntowicz wrote: > Hello list- > Could someone please shed some light on this situation for me? I have a > huge folder of logos that are named all willy nilly with weird characters and > spaces. I need to recursively descend through all of these folders and rename > each image so the names only contain [a-z0-9.-]. That part is fine I already > have the regex ready to do this. I need to know how to rename these files as > I recurse through the directory tree. I have this code so far: > > path = "/Volumes/Users/ez/LOGOS" > files = [] > require 'find' > Find.find(path) do |file| > files << file if file=~ /.eps$/ > end > > > > This leaves me with an array of good filenames but they have their complete > path as well. What I need help with is for each file, pul just the file name > out of the path, do some gsub's on it and then rename it with the output of > the gsubs. So after all is said and done the original files will be renamed > to be compliant with the regexes I run on each one. > > Can some one please point me in the right direction? You could just do the operation as you go: Find.find(path) do |file| fix(file) if /.eps$/.match(file) # or whatever end The fact that it's got the path attached shouldn't matter for the renaming operation, since you're not chdir'ing. David -- David A. Black dblack / wobblini.net