Hace unos días, mientras platicaba y me ponía al día con un amigo de la universidad, me asalto con un reto. Me decía que quería hacer un script para renombrar varios archivos repartidos en varias carpetas y renombrar cada uno de los archivos con el nombre de la carpeta que lo contenía; en ese momento estaba reinstalando mi ambiente de desarrollo en la computadora, dentro del cual se encuentra Ruby. Así que le dije que en cuanto terminara de instalar todo, me pondría a ello.
No había tenido contacto con la API de archivos y directorios de Ruby, pero supuse que no sería complicado así que busqué en la documentación y en cuestión de minutos ya tenía el script, que en sí no es nada elaborado pero cumple con lo que se propone, obviamente se puede mejorar; lo que me gustaría resaltar es la facilidad con la que podemos hacer las cosas en Ruby. Incluso cuando le mostré el script a mi amigo y aunque el no había hecho nada en este lenguaje lo entendió perfectamente (o eso creo) y pudo usarlo felizmente en su equipo con Windows. En fin, Ruby no deja de sorprenderme.
#!/usr/bin/ruby def directories directories = Dir.entries(Dir.pwd) directories.delete(".", "..") directories end Dir.chdir("dir") puts directories.join(" ") directories.sort.each do |directory| Dir.chdir(directory) File.rename(directories.first, directory << ".txt") Dir.chdir("../") end puts Dir.pwd
Como dije le falta trabajo, como por ejemplo hacerlo interactivo para que puedas navegar al directorio necesario, o poder escoger las extensiones del archivo así como agregar las correspondientes validaciones.
Ruby Doc: Dir
Ruby Doc: File
No hay comentarios:
Publicar un comentario