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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 [1168] 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 ... 1236
11671  Programación / Scripting / Re: [RUBY] [BATCH] Renombrando un caracter ilegal 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
11672  Programación / Scripting / Re: [RUBY] Mostrar caracter unicode en: 20 Febrero 2012, 08:32 am
Gracias por tu ayuda pero probé el code que me has dado y no me funcionó, daba error en la linea de "-comilla" xD

Pero por suerte he encontrado la lista de los caracteres unicode y gracias a tu ejemplo lo he conseguido:

Código
  1. def help()
  2. print "\n Opciones: \n\n"
  3. print "  -c --comilla        (Reemplaza \"\u00B4\" por \"\u0027\")" + "\n"
  4. print '  -f --featuring      (Reemplaza " ft " por " feat. ")' + "\n"
  5. print '                      (Reemplaza " ft. " por " feat. ")' + "\n"
  6. print "  -g --guion          (Reemplaza \"\u2013\" por \"-\")" + "\n"
  7. print "  -i --interrogante   (Elimina \"\u00BF\")" + "\n"
  8. Process.exit
  9. end

Lo malo de esto... Es que me dijiste que para usar el script que reemplaza el guion,Debo usar el código de páginas "chcp 1252"
Si activo la página, La ayuda se muestra mal:



Ya no se como lograr hacerlo correctamente, DIOSSS

PD: Como odio el tema de los chars    >:( >:( >:(


EDITO:

SOLUCIONADO ^^

Código
  1. system('chcp 850 >NUL')

Código
  1. def help()
  2. system('chcp 850 >NUL')
  3. print "\n Opciones: \n\n"
  4. print "  -c --comilla        Reemplaza \[\u00B4\] por \[\u0027\]\n\n"
  5. print "  -f --featuring      Reemplaza [ ft ]  por [ feat. ]\n"
  6. print "                      Reemplaza [ ft. ] por [ feat. ]\n\n"
  7. print "  -g --guion          Reemplaza \[\u2013\] por \[-\]\n\n"
  8. print "  -i --interrogante   Elimina \[\u00BF\]\n"
  9. Process.exit
  10. end

--EDIT--
Puedes usar puts (put string) envés de print y esté adicionará el salto de linea al final sin necesidad de especificarlo con "\n"

Estoy aprendiendo python y la verdad que la syntaxis de ruby es casi igual xD, Prefiero acostumbrarme a usar Print por el momento.


11673  Programación / Scripting / (Solucionado) [RUBY] Mostrar caracter unicode en: 20 Febrero 2012, 07:21 am
Estoy intentando hacer una pantalla de ayuda en un script

El problema es que me da errores al intentar mostrar estos caracteres:

¿    ´    '    –

Código:
# -*- coding: UTF-8 -*-

def help()
 print "\n Opciones: \n\n"
 print ' -?          (Elimina el caracter "¿")' + "\n"
 print ' -comilla    (Reemplaza "´" por "'")' + "\n"
 print ' -ft         (Reemplaza " ft " por " feat. ")' + "\n"
 print ' -ft.        (Reemplaza " ft. " por " feat. ")' + "\n"
 print ' -guion      (Reemplaza "–" por "-")' + "\n"
 Process.exit
end

help()


He intentado mostrar el guión así, pero nada... :

Código
  1. print ' -guion      (Reemplaza "\u2013" por "-")' + "\n"




Y una pregunta de paso...

Como puedo hacer esto correctamente?

Código
  1. if (ARGV[0])==""
  2. help()
  3. end

La intención es que reconozca si el argumento está vació.

EDITO:
Vale lo segundo ya lo he conseguido:

Código
  1. if (ARGV[0])==()
  2. help()
  3. end
11674  Programación / Scripting / Re: Ayuda xD [RUBY] Renombrando un caracter ilegal en: 20 Febrero 2012, 06:20 am
perfecto gracias d nuevo
11675  Programación / Scripting / Re: (Solucionado) [RUBY] Renombrando un caracter ilegal 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
11676  Programación / Scripting / Re: (Solucionado) [RUBY] Renombrando un caracter ilegal en: 20 Febrero 2012, 03:47 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
11677  Programación / Scripting / Re: [RUBY] [BATCH] Renombrando un caracter ilegal en: 20 Febrero 2012, 03:21 am
Advertencia - mientras estabas leyendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.



Verás, Lo que tengo es un BAT que llama a varias utilidades para organizar ese directorio, y una parte fundamental para que el resto de apps y el script en general funcione correctamente era modificar ese caracter ilegal

No se como agradecertelo :'S

Genial por la segunda versión del script ya que lo debo usar sobre directorios con más de 5.000 archivos cada uno, +30.000 en total

Por eso te agradezco el tiempo invertido haciendo el script pero por el motivo que comento prefiero una version "lite" que tarde menos en procesar xD:

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("\\", "/").encode('utf-8')) { |path|
  10. path = path.encode('utf-8')
  11. if path["\u2013"] then
  12. File.rename(path, path.gsub("\u2013", "-"))
  13. rename += 1
  14. else
  15. total += 1
  16. end
  17. }
  18.  
  19. puts "Procesados: #{total} archivos" + " | " + "Renombrados: #{rename} archivos"

Parece funcionar bien. No se si es mucho pedir que revises mi modificación a ver si hay algún error.

Tema solucionado, gracias
11678  Sistemas Operativos / Windows / Re: consulta sobre "System Volume Information" en: 20 Febrero 2012, 01:15 am
No se corre peligro

Solo hay logs y archivos temporales de recuperacion de cuando usas la herramienta "Chkdsk"...

Puedes borrar TODO lo que hay dentro se "system volume information" en todos los discos duros que tengas, Menos el archivo "Syscache.hve", Que siempre se va a volver a generar así que es tontería borrarlo, Además ese nunca me ha dado por borrarlo aunque ponga "cache", Los archivos HVE me da miedo borrarlos aunque parezcan temporales.

Y no se si te habrás fijado pero posiblemente tu archivo "MountPointManagerRemoteDatabase" pese 0 bytes, Así que... xD

Saludos.
11679  Sistemas Operativos / Windows / Re: Acceso directo nombre parcial de fichero en: 20 Febrero 2012, 00:56 am
Muchas gracias,

Es lo que estaba buscando, lo malo es que al hacer un acceso directo al cmd y mandarlo por correo, outlook me lo bloquea al ser potencialmente peligroso.

Outlook te bloquea un archivo ".lnk"?

Pues que penoso!! xD

No se, Comprimelo con winrar, o cambiale la extensión a ".txt" aunque sea para intentar mandarlo...

O usa Gmail, o ZetaUploader que eso no tiene ningún tipo de restricciones sobre el envio de emails.

Salu2
11680  Programación / Scripting / Re: [BATCH] Renombrando un caracter ilegal en: 19 Febrero 2012, 12:03 pm
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:
Código:
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:

Código
  1. # -*- coding: UTF-8 -*-
  2.  
  3. rename = 0
  4. Dir.chdir(-1)
  5.  
  6. puts "Espera mientras los archivos son indexados..."
  7. Dir.glob("**/*").each { |file|
  8. puts "Analizando " + file
  9. if file["\u2013"] then
  10. puts "File: " + file + "contiene caracter ilegal"
  11. puts "Renombrando a caracter standar '-' "
  12. File.rename(file.to_s, file.to_s.gsub("\u2013", "-"))
  13. puts "Archivo renombrado"
  14. rename += 1
  15. end
  16. }
  17.  
  18. puts "renombrados " + rename.to_s + "archivos"


EDITO:
Nada, me tira este error:
Código:
1.rb:4:in `chdir': No such file or directory - 1 (Errno::ENOENT)
        from 1.rb:4:in `<main>'

Citar
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:
Código
  1. Dir.chdir(ARGV[1])

Que raro, Esto si que me funciona:
Código
  1. puts ARGV

Pero esto no:
Código
  1. Dir.chdir("ARGV")
  2. Dir.chdir(ARGV)
  3. 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 carpeta

Y claro, debe quedar así:
Código
  1. 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  :P 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 ^^

Código
  1. Path = ARGV
  2. Path["\"]= "/"
  3. puts (Path)

Se que no voy mal encaminado, Pero me da error xD

Esto támpoco:

Código
  1. Path.replace "\ to /"

Código
  1. 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
Páginas: 1 ... 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 [1168] 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines