elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  (Solucionado) [RUBY] Renombrando un caracter ilegal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: (Solucionado) [RUBY] Renombrando un caracter ilegal  (Leído 11,822 veces)
RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: (Solucionado) [RUBY] Renombrando un caracter ilegal
« Respuesta #10 en: 20 Febrero 2012, 03:57 am »

Tienes razón me estaba dando cuenta de eso ahora iba a editar el script

Y esto debe quedar así:
Código
  1. total = -1

Salu2

Eso si quieres empezar el conteo desde 0

Saludos.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.813



Ver Perfil
Re: (Solucionado) [RUBY] Renombrando un caracter ilegal
« Respuesta #11 en: 20 Febrero 2012, 04:08 am »

Mierd@, Ahora resulta que no me funciona   :-\

Ruta: E:\Música\Canciones\2009\Electro

Supongo que es por el caracter "ú" de la ruta...

¿Se puede arreglar?

1er intento:
Código:
renamer-.rb "E:\Música\Canciones\2009\Electro"

C:/Users/Administrador/AppData/Local/Temp/ocrBAA2.tmp/lib/ruby/1.9.1/find.rb:38:in `block in find': No such file or directory (Errno::ENOENT)
        from C:/Users/Administrador/AppData/Local/Temp/ocrBAA2.tmp/lib/ruby/1.9.1/find.rb:38:in `collect!'
        from C:/Users/Administrador/AppData/Local/Temp/ocrBAA2.tmp/lib/ruby/1.9.1/find.rb:38:in `find'
        from C:/Users/Administrador/AppData/Local/Temp/ocrBAA2.tmp/src/1.rb:9:in `<main>'


2ndo intento:
Código:
renamer-.rb "E:\M£sica\Canciones\2009\Electro"

C:/Users/Administrador/AppData/Local/Temp/ocr19A3.tmp/lib/ruby/1.9.1/find.rb:56:in `join': incompatible character encodings: UTF-8 and Windows-1252 (Encoding::CompatibilityError)
        from C:/Users/Administrador/AppData/Local/Temp/ocr19A3.tmp/lib/ruby/1.9.1/find.rb:56:in `block (2 levels) in find'
        from C:/Users/Administrador/AppData/Local/Temp/ocr19A3.tmp/lib/ruby/1.9.1/find.rb:54:in `reverse_each'
        from C:/Users/Administrador/AppData/Local/Temp/ocr19A3.tmp/lib/ruby/1.9.1/find.rb:54:in `block in find'
        from C:/Users/Administrador/AppData/Local/Temp/ocr19A3.tmp/lib/ruby/1.9.1/find.rb:40:in `catch'
        from C:/Users/Administrador/AppData/Local/Temp/ocr19A3.tmp/lib/ruby/1.9.1/find.rb:40:in `find'
        from C:/Users/Administrador/AppData/Local/Temp/ocr19A3.tmp/src/1.rb:9:in `<main>'

Siento alargar tanto el tema


En línea

RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Ayuda xD [RUBY] Renombrando un caracter ilegal
« Respuesta #12 en: 20 Febrero 2012, 05:28 am »

Al parecer es culpa del cmd de Windows, que no está pasando los argumentos encodeados en utf-8 la solución usar este comando antes de correr el Script:

Código:
chcp 1252>NUL

y usar este Script:

Código
  1. # -*- coding: UTF-8 -*-
  2.  
  3. require 'find'
  4. exit if Object.const_defined?(:Ocra)
  5.  
  6. rename = 0
  7. total = 0
  8.  
  9. Find.find(ARGV[0].gsub("\\", "/")) { |path|
  10. path = path.encode('utf-8')
  11. if path["\u2013"] then
  12. File.rename(path, path.gsub("\u2013", "-"))
  13. rename += 1
  14. end
  15. total += 1
  16. }
  17.  
  18. puts "Procesados: #{total} archivos" + " | " + "Renombrados: #{rename} archivos"

Saludos
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.813



Ver Perfil
Re: Ayuda xD [RUBY] Renombrando un caracter ilegal
« Respuesta #13 en: 20 Febrero 2012, 06:20 am »

perfecto gracias d nuevo
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.813



Ver Perfil
Re: [RUBY] [BATCH] Renombrando un caracter ilegal
« Respuesta #14 en: 20 Febrero 2012, 09:15 am »

si quieres saber eso en ruby es con:
Código
  1. __FILE__

Y esto solo para mostrar el "filename"
Código
  1. puts __FILE__.split('/').last

salu2
En línea

WaAYa HaCK

Desconectado Desconectado

Mensajes: 292


Arduino, Android and music


Ver Perfil
Re: (Solucionado) [RUBY] Renombrando un caracter ilegal
« Respuesta #15 en: 20 Febrero 2012, 20:09 pm »

En python, importando el módulo sys , está el sys.argv(0). Y para lo del archivo, os.path.basename("ruta/de/cualquier/cosa.fap") devuelve el archivo y su extensión. Si sólo quieres un nombre, mediante RegEx se puede.

Por cierto, EleKtro H@cker, si te interesa seguir aprendiendo Python, tengo un script para pasar archivos por internet, hecho por mí durante dos días de clase  ;) Si quieres, posteo el code y lo explico.
En línea

La cacatúa yoyó es nueva en el zoo!
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.813



Ver Perfil
Re: (Solucionado) [RUBY] Renombrando un caracter ilegal
« Respuesta #16 en: 21 Febrero 2012, 02:59 am »

Por cierto, EleKtro H@cker, si te interesa seguir aprendiendo Python, tengo un script para pasar archivos por internet, hecho por mí durante dos días de clase  ;) Si quieres, posteo el code y lo explico.

Claro que me interesa, Se que hago muy mal usando ruby y python a la vez sin haber aprendido uno de los 2, Pero igual de los 2 se tiene mucho que aprender, Ruby me está gustando mucho.

Espero tu script

Salu2 !
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Solucionado] Separar una Cadena de Texto Caracter Por Caracter « 1 2 »
Programación Visual Basic
agus0 19 22,103 Último mensaje 5 Mayo 2011, 14:29 pm
por Psyke1
(Solucionado) [RUBY] Mostrar caracter unicode
Scripting
Eleкtro 4 3,501 Último mensaje 20 Febrero 2012, 16:18 pm
por RyogiShiki
(Solucionado) [Ruby] Colorizando texto
Scripting
Eleкtro 1 2,916 Último mensaje 20 Febrero 2012, 10:15 am
por Eleкtro
(Solucionado) [Ruby] Duda sobre FOR con operador de rango
Scripting
Eleкtro 3 3,249 Último mensaje 24 Febrero 2012, 13:42 pm
por Eleкtro
(Solucionado) [Ruby] Ayuda con rescue!
Scripting
Eleкtro 2 3,273 Último mensaje 1 Marzo 2012, 14:40 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines