File.rename(tedious part of the filename)

Posted by root Sun, 13 Jan 2008 07:58:00 GMT

Rename each file in each sub-directory, substituting ‘%20’ with ’ ‘(space).
class File
  def self.rename_basename(abs_name, old_str, new_str)
    f_name = File.basename(abs_name).gsub Regexp.quote(old_str), new_str
    d_name = File.dirname(abs_name)
    File.rename(abs_name, d_name + '/' + f_name)
    rescue
      raise ArgumentError, "No such file #{filename}", caller
  end
end

Dir["*/**"].each do |f|
  if File.basename(f).match('%20')
    File.rename_basename(f, '%20', ' ')
  end
end

Posted in ,  | Tags  | no comments

Comments

Comments are disabled