Bueno pasaba a dejar esta versión que no usa indexado de archivos si no que va haciendo las comprobaciones al vuelo, lo que lo hace significativamente más rápido respecto al otro sobretodo si se usan grandes colecciones archivos. el manejo es el mismo que el anterior:
Código
# -*- coding: UTF-8 -*- require 'find' exit if Object.const_defined?(:Ocra) rename = 0 puts "Cambiando al directorio " + ARGV[0] Find.find(ARGV[0].gsub("\\", "/").encode('utf-8')) { |path| path = path.encode('utf-8') puts "Analizando: " + path if path["\u2013"] then puts "El archivo " + path + " tiene el caracter ilegal" puts "Renombrando con caracter lega '-' " File.rename(path, path.gsub("\u2013", "-")) puts "Archivo renombrado" rename += 1 else puts "Archivo " + path + " limpio." end } puts "Fin. Renombrados #{rename} archivos"
Para hacer el exe se sigue el mismo procedimiento, esta vez la linea agregada esta despues para permitir añador la gema find. De todas formas dejo subidos los archivos, un comprimido con el script y el exe.
Descargar Archivos: http://www.mediafire.com/?yuc10oo1z3ycti3
Saludos