Gracias por el code
RyogiShiki , Me podría servir pero de momento no cumple lo que necesito... A ver si me puedes ayudar a modificarlo un poco
¿Como puedo definir la ruta mediante un parámetro?
Por ejemplo necesitaria lanzar el script así desde un script BAT:
Ruby script.rb "E:\Música\Canciones\2012\"
He intentado buscar información sobre como pasar un argumento a ruby y no he encontrado ejemplos claros :S creo que quedaría así pero no estoy seguro:
# -*- coding: UTF-8 -*-
rename = 0
Dir.chdir(-1)
puts "Espera mientras los archivos son indexados..."
Dir.glob("**/*").each { |file|
puts "Analizando " + file
if file["\u2013"] then
puts "File: " + file + "contiene caracter ilegal"
puts "Renombrando a caracter standar '-' "
File.rename(file.to_s, file.to_s.gsub("\u2013", "-"))
puts "Archivo renombrado"
rename += 1
end
}
puts "renombrados " + rename.to_s + "archivos"
EDITO:
Nada, me tira este error:
1.rb:4:in `chdir': No such file or directory - 1 (Errno::ENOENT)
from 1.rb:4:in `<main>'
To read command line args in a Ruby script, use the special Ruby array ARGV to get the information you need.
Así támpoco es:
Dir.chdir(ARGV[1])
Que raro, Esto si que me funciona:
puts ARGV
Pero esto no:
Dir.chdir("ARGV")
Dir.chdir(ARGV)
Dir.chdir.ARGV
EDITO 2:
Creo que ya se lo que pasa.
Debe ser por los slash...
Este es el argumento:
C:\Users\Administrador\Desktop\Nueva carpetaY claro, debe quedar así:
Dir.chdir("C:/Users/Administrador/Desktop/Nueva carpeta")
Pues nada, Voy a buscar sobre como setear el argumento a una variable, y luego reemplazar los slashes de la variable xD
Espero tu ayuda
xDDD
PD: No se si lo parece, Pero es la primera vez que uso ruby xD
EDITO 3:
Que no se diga que no lo intento ^^
Path = ARGV
Path["\"]= "/"
puts (Path)
Se que no voy mal encaminado, Pero me da error xD
Esto támpoco:
Path.replace "\ to /"
Path.gsub("\", "/")
Y lo segundo es... Como podría pasar ese script a .EXE?
rubyscript2exe.rb ¿Es bueno o conoces algo más efectivo?
http://www.erikveen.dds.nl/rubyscript2exe/#6.0.0