On m'a mis au défit de faire un script pour renommer un ensemble de divx dont le nom de fichier ressemble à [qqchose]01[autrechose]02[encore_qqchose].[une_extension]:
require 'ftools' require 'fileutils' from_directory = "divx" to_directory = "divx_renamed" extentions = %w{.srt .avi .mov .wmv} prefix = "lost" pattern = /[0-9]{2}/ Dir.mkdir(to_directory) unless File.exist?(to_directory) Dir.foreach(from_directory) do |filename| fullpath = from_directory + '/' + filename file_ext = File.extname(fullpath) if (File.file?(fullpath) && extentions.include?(file_ext)) puts "Changing: " + filename + "..." # *[0-9]{2}*[0-9]{2}.ext basename = File.basename(fullpath, file_ext) basename =~ pattern season = $& # match against the rest of the basename $' =~ pattern episode = $& new_basename = prefix + "-s" + season + "-e" + episode puts new_basename File.copy fullpath, to_directory + '/' + new_basename + file_ext end endSi vous avez des idées pour le rendre plus court (mais toujours lisible)... les commentaires sont les bienvenus ;)