17 de febrero de 2011

Renombrador masivo y generador de listados

RenombraYLista

Hace tiempo que no actualizaba este blog, hoy les traigo un programa que les puede resultar muy útil... o no :-P. Lo llamo Renombra y Lista porque tiene dos funciones principales: Renombrador masivo de archivos y Generador de listados de archivos y/o carpetas.

Al ejecutarlo se muestra la ventana que se ve arriba, donde uno puede elegir el directorio donde va a hacer una de las dos funciones. Les mostraré primero la función de renombrador de archivos.


Renombrador masivo de archivos

Yo suelo subir comics, a los cuales a todos les pongo en el nombre, la leyenda del nombre de mi blog howtoarsenio.blogspot.com. Además les suelo colocar un número para que queden ordenados en la carpeta.

Primero vamos a la carpeta donde está lo que quiero renombrar. Voy hasta el directorio, selecciono (con el mouse y la tecla Ctrl o la tecla Shift) los archivos que quiero renombrar (se pueden usar los botones de selección) y luego vamos al paso 2 con el botón de Siguiente.

Renombrador

En la siguiente pantalla tengo que elegir la máscara que usará para el nombre (por defecto [N]) y la máscará para la extensión (por defecto [E])... quizás a alguno le sonará el parecido con el renombrador que usa el Total Commander (de ahí tomé el ejemplo). Luego hay otros botones para ayudar a generar la máscara de “renombre”, como el de Rango ([N#-#], que al apretarlo mostrará para seleccionar el rango de lo que queremos incluir) o el de Contador ([C] para generar un contador para cada archivo). Además se pueden usar “literales”, que son palabras que las usa como van.

Paso2
Para mostrarles el uso de todas ellas, veamos el siguiente ejemplo de como quiero que queden los archivos, usando la máscara:

Dax #[C] - [N11-40].howtoarsenio.blogspot.com

Lo que no está entre “[“ y “]” son los literales, por lo que siempre pondrá lo mismo, el [C] (contador) se configura en los controles “Definir contador”, donde se le da el valor de inicio, el incremento y la cantidad de caracteres que debe completar. El [N11-40] significa que tomará de cada nombre original de archivo desde el caracter 11 al 40 (al apretar en el botón de Rango se permite seleccionar usando el nombre original más largo).

Rango

La extensión no la modifico [E], quedando la que viene en cada archivo, pero se podría hacer lo mismo que con el nombre.

UsandoMascara

Ahora, muchas veces pasa que no quedan todos los archivos bien, como nos gustaría (como ejemplo el primer archivo), por lo que se pueden editar los nombres “manualmente”, apretando en el botón Editar nombres. Se abrirá un editor (tambien realizado por mi) donde se pueden editar los nombres de los archivos.

EditarManualmente

Al aceptar se valida que exista la misma cantidad de líneas (nombres de archivos) que había originalmente.

Luego solo queda apretar el botón de Renombrar. Modifica los archivos con los nombres de la columna Nuevo Nombre y si todo sale bien aparece el mensaje:

RenombracionExitosa

Al volver hacia atras muestra como quedaron los archivos ya modificados y se pueden seleccionar más o pasar al siguiente paso para generar listados.

LuegoDeRenombrar

Hay un paso que no expliqué, que es lo de asociar directorios y modificar los archivos internamente. Esto se usa, por ejemplo, cuando hay que modificar archivos html. Cuando uno guarda una página web, se genera el html y una carpeta con los archivos asociados (imágenes, etc), si uno modifica el nombre del html los links se “pierden” ya que apuntan al nombre “original” de la carpeta.

Al asociar carpeta, valida que cada archivo a renombrar tenga una carpeta asociada (normalmente con “_files” detras) y al marcar “Modificar archivo internamente”, cuando Renombra modifica los links internos, cambiando el nombre original por el nuevo.

Actualmente esta función no soporta espacios ni caracteres especiales... igualmente no sería muy dificil agregarle esta funcionalidad.




Generador de Listados de archivos y carpetas

La segunda función del programa es la de generar listados de carpetas y/o archivos. Por ejemplo, para hacer una base de datos de comics yo necesito buscar en dvds los comics guardados y hacer un listado de los mismos.

Algo “manual” podría hacerse con la funciones de MS-DOS Tree o para los archivos usar el Dir, pero lo que resulta luego hay que hacerle muchos cambios para que quede bien. Por lo que hice mi propio programa para eso.

Desde la pantalla principal, apretamos en Listados y abre la siguiente ventana con el directorio que teníamos, el cual se puede cambiar.

Generar Listados

Lo que hará será generar un listado (en un archivo txt o en el portapapeles) poniendo los nombres de los directorios y/o archivos usando las reglas que elijamos, la mayoría creo que son entendibles, pero vamos a ver un “repaso” de las mismas indicando los “pasos” que realiza (como se ve es un proceso recursivo).
  1. Del directorio actual obtiene una lista de carpetas y de archivos.
  2. Imprime un nombre por línea (sea directorio o archivo)
  3. Si es directorio, lista como árbol e incluye subcarpetas, repite desde el paso 1.
  4. Luego de listar el contenido de la carpeta actual (directorios y archivos), si no lista como árbol e incluye subcarpetas recorre las carpetas y va llamando desde el paso 1.
Opciones:




  • Incluir directorios: significa que imprime el nombre del directorio, con las opciones del grupo Carpetas.


  • Incluir archivos: significa que imprime el nombre de los archivos, con las opciones del grupo Archivos.


  • Incluir extensiones: solo lo hace cuando se incluyen archivos, y es si imprime la extensión o no.


  • Incluir subcarpetas: significa que por cada carpeta que encuentra repite el proceso desde el punto 1. El orden en que lo hace está determinado si se chequea Listar como árbol o no.


  • Ruta completa en directorios y archivos: imprime solo el nombre o incluye toda la ruta completa.


  • Ignora carpetas vacías: si una carpeta no tiene archivos, no imprime el nombre de la carpeta, pero si tiene más carpetas internamente y se elije Incluir subcarpetas si lista su interior.


  • Listar como árbol: esto es lo más práctico, significa que imprime de cada carpeta que encuentra, su “contenido” antes que seguir con el resto de las carpetas. Si no está chequeado lista todo de la carpeta actual, luego va a la primera carpeta y repite el proceso. Esto se verá mejor en los ejemplos.


  • Caracteres de nivel, Usar tabs y Usar espacios: Es lo que usará para cada “nivel” del árbol, se puede personalizar los caracteres a usar o una cantidad de espacios o de tabulaciones (esto último ideal para pasar a un archivo de Excel).


  • Opciones de Carpetas y de Archivos: se pueden modificar si se elije incluir algunas de estas. Indica si va a incluir un Prefijo y/o un Sufijo antes de cada nombre (en el ejemplo las carpetas estarán rodeadas por corchetes) y si los nombres los pasa a mayúsculas, minúsculas o los deja como estan.
    Para las carpetas se puede chequear que agregue la cantidad de archivos que contiene internamente (no subcarpetas).


  • Archivos a incluir: por defecto incluye todos “*.*”, pero se pueden elegir máscaras para que solo incluya determinados tipos de archivos, como “*.txt” (archivos de texto) o “M*.*” (archivos que comiencen con M) o “*.cb*” (archivos de comics cbz o cbr).


  • Al generar el listado copiar al portapapeles: luego de generarlo, abre automáticamente el editor del programa con su contenido y además lo copia al portapapeles (como para pegarlo en otro archivo), si está destildado hay que elegir un archivo donde guardará el listado.



  • Ejemplo de impresión con las opciones actuales:
    [CROSSOVER] (2)
      Superman Vs Spiderman.cbr
      Wolverine The Punisher.cbr
      [PLANET HULK] (21)
        01 - The Incredible Hulk #88 - Peace in our time I.cbr
        02 - The Incredible Hulk #89 - Peace in our time II.cbr
        03 - The Incredible Hulk #90 - Peace in our time III.cbr
        04 - The Incredible Hulk #91 - Peace in our time IV.cbr
    O solo con listado de carpetas, como árbol:
    CrossOver (2)
      Planet Hulk (21)
      World War Hulk (48)
    Iron-Man (1)
    Marvel2099 (14)
      Guerra Kree - Skrull (6)
      Skrull Kill Krew (6)
    Spiderman (19)
      One More Day (4)
      The Other (12)
      Todd McFarlane (12)
      Ultimate Spiderman Vol1 (49)
      Ultimate Spiderman Vol2 (21)
    The Punisher (1)
    Ultimate X-Men (33)
    Varios (1)
      1602 (1)
      Silent War (6)
    O solo carpetas pero destildando como árbol:
    CrossOver (2)
    Iron-Man (1)
    Marvel2099 (14)
    Spiderman (19)
    The Punisher (1)
    Ultimate X-Men (33)
    Varios (1)
      Planet Hulk (21)
      World War Hulk (48)
      Guerra Kree - Skrull (6)
      Skrull Kill Krew (6)
      One More Day (4)
      The Other (12)
      Todd McFarlane (12)
      Ultimate Spiderman Vol1 (49)
      Ultimate Spiderman Vol2 (21)
      1602 (1)
      Silent War (6)
    Lo mejor es ir probando las distintas opciones, conviene probar con el portapapeles, para ver rápidamente como va quedando.


    Descargas:

    Ahora si, las descargas, del ejecutable (está doblemente comprimido para que no lo eliminen del servidor) y del código fuente (quizás a alguno le interesa para ver como hice determinadas cosas).
    Aviso: El código fue hecho en Delphi 7, pero la última compilación fue en Delphi XE (y es el código que subo), puede ser que en Delphi 7 no compile. La idea del código es que puedan tomar ejemplos, no que lo usen directamente.

    49 comentarios:

    1. siempre habia querido un programa así!
      para la música, películas... y ahora todos los cómics que estoy descargando =P

      gracias!
      n_n

      ResponderEliminar
    2. Me alegro que te sirva... igual para los comics no lo necesitás, ya estan ordenados :-P

      Si hay algo para mejorarle (yo ya tengo una idea) decime, así en una futura versión lo incluyo.

      ResponderEliminar
      Respuestas
      1. excelente, voy a probarlo en mis respaldos q tengo desde el 1998

        Eliminar
    3. pues ahora que lo dices, me gusta usar corchetes para los números de los cómics
      ejemplo: 100 Bullets [067] Love Let Her

      pero en el programa no se pueden usar...

      ResponderEliminar
    4. Es porque usa los [] para las variables [N] y [C]... pero gracias por el aviso, veré de corregirlo.

      ResponderEliminar
    5. Con las herramientas de Linux/Unix es tan facil! :-D

      Para meter caracteres especiales se suelen definir "secuencias de escape", por ejemplo \[ para un "[", etc. Podés usar la secuencia que quieras, ya que el \ en algunos S.O. tiene otra connotación... por ejemplo %[% o lo que se te ocurra

      ResponderEliminar
    6. ëste programa me hizo muy feliz, lo acabo de usar con 160 imagenes que tenía que subir a blogger, y funcionó a la perfección.

      Muchas gracias!

      ResponderEliminar
    7. Saki, me alegro que te haya servido, me hiciste acordar que tengo que subir la versión 2.0 que tiene algunas mejoras en la parte de generar listados.

      ResponderEliminar
    8. buenisimo, cuando lo subas, pegá un chiflido! ahora pasé de nuevo porque me olvidé como usarlo, jaja.

      pasaba a consultar, saludos!

      ResponderEliminar
    9. excelente, hace años que ando buscando algo así. Y por mucho tiempo lo hice "a mano"... Que bueno que ahora lo puedo hacer automático :-D
      Grax

      ResponderEliminar
    10. El link de descarga no sirve.

      ResponderEliminar
    11. Es que esto estaba también en una carpeta de mediafire que me eliminaron... en cualquier momento lo subo, gracias por el aviso!

      ResponderEliminar
    12. Diculpá, pero figura que el archivo no está más. ¿Podrías resubirlo?
      Desde ya gracias, muy buen trabajo.
      Pol.

      ResponderEliminar
    13. Resubido!

      Gracias por la paciencia!

      ResponderEliminar
    14. Muy bueno, me hacía falta algo así

      ¡Gracias!

      ResponderEliminar
    15. Para renombrar....
      Lupas Rename 2000 v5.0

      Para Base de Datos de Comics...
      YacReader Library

      Arsenio gracias por tu trabajo

      ResponderEliminar
    16. Gracias Arsenio, muy buena utilidad.
      Probado en Windows 7 x64, se pierde toda la parte derecha (botones y funciones) incluso maximizado. Queda casi inservible.
      Como Renombrador si que es similar al TotalCommander, menos en su muy útil función de Reemplazar Texto simultáneamente al renombrado.
      Como Listador, y ya que accede a Tamaño y Fecha/Hora de creación ¿sería posible anexar (opcionalmente) estos datos después del nombre.EXT? Para fotos sobre todo es muy útil. ¿Y elegir el carácter separador entre los campos?. Cara a exportar a Excel yo utilizo el $, para generar un resultado "Nombre$EXT$12345 KB$DDMMAAAA HHMMSS" fácilmente importable usando como separador de campo el propio "$".

      ResponderEliminar
    17. No inventes Arsenio, este programa es realmente genial, me costo un poco dominarlo pero ya dominado es brutal, adios a las horas de ordenamiento de comics(En especial con todo lo nuevo de batman), Comics, porgramas, ¿no te Cansas de ser tan Genial?

      ResponderEliminar
    18. Anónimo, muy buenas sugerencias, voy a ver lo del windows 7 de 64 (es el que uso yo, raro que no se vea). El TotalComander fue mi modelo para hacer mi programa, así que SEGURO que es muy parecido, igualmente la primer idea fue poder renombrar archivos .html y renombrar dentro de las carpetas que acompañan, todos los archivos que hacen referencia al html... es medio largo de explicar.

      Como listador no le puse demasiado empeño, era sobre todo para poder hacer listados de contenidos de discos. Veré las sugerencias, si algún día me vuelvo a poner con el mismo.

      Dr. ¿también por acá? Bienvenido :-P

      Soy programador de alma (y trabajo de eso), además de comiquero... da para todo.

      ResponderEliminar
    19. Hola!!

      Podrias resubirlo por favoooor????

      ResponderEliminar
    20. puedes resubirlo lo estoy necesitando ahora

      ResponderEliminar
    21. Sólo quiero decir desde mi más tierna alma:

      Larga vida a Arsenio!

      ResponderEliminar
    22. Podría resubir tu programa renombrador masivo??? Ya lo borró el servidor!!!

      ResponderEliminar
    23. Buenas!!
      Veo que llego un poco tarde aquí :P. He visto como funciona y tal y como dice Arsenio se parece al Total Commader, yo funciono con el Speed Commander, pero este programilla se ve super útil y mucho más avanzado. Lástima de lo de siempre, que los de mediafire borran los archivos que no tienen actividad. Pues nada, gratz por ese programa y ya lo encontraré por ahí!!

      Apa i do!!

      ResponderEliminar
    24. Un gran programa que hace exacvtamente lo que promete y además a la perfección. Lástima que esté tan oculto por aquí.

      ResponderEliminar
    25. Nos volvemos a encontrar :-D

      Cuando recien lo hice lo publiqué en el blog, pero tenés razón en que esta un tanto dificil de encontrar... lo pondré entre los programas que recomendamos.

      Tengo que ponerle más pilas a este blog y meter más cosas de mi actividad laboral.

      ResponderEliminar
      Respuestas
      1. ¿Más pilas? ¿Todavía más? Éste es el blog de cómics más dinámico y completo de la red. Vamos a tener que hacerte un altar a tí y a los demás locos que lo llevan...

        Eliminar
      2. Me refiero al blog de programación, no al de comics...

        Eliminar
    26. te pasaste
      gracias a esto me ahorraste mucho
      te voy a mandar un link con un torrent con todo lo de batman rip, incluiré el listado
      gracias, gracias, gracias! te pasaste!

      ResponderEliminar
    27. Muy útil el programa pero me gustaría saber si se puede usar también para renombrar grupos de carpetas ademas de archivos y si es así ¿cómo lo hago?

      ResponderEliminar
    28. No... no lo pensé para eso en su momento y ahora que lo preguntás es algo que debería agregarle en alguna futura versión... quizás alguna vez lo retome...

      ResponderEliminar
    29. Eres un maldito genio! Se agradece! :D

      ResponderEliminar
    30. No me furuló :( en Windows 8.1, le puse también en modo compatibilidad con SO anteriores y tampoco, lo abre, pero no se activa ningún botón, ni modo :'(

      ResponderEliminar
    31. muy buen programa...eres un genio...gracias

      ResponderEliminar
    32. Como puedo obtener una copia del código?

      ResponderEliminar
    33. hola Arsenio pues para renombrar masivamente archivos yo uso renamer lite y es mucho mas facil de usar que todo el proceso que muestras solo que se en versión gratis pero no tiene fecha para que te pida registrarlo y te deja usar la mayoria de funciones casi todas ahora que si pudieras subir la versión full seria magnifico te lo recomiendo mucho y es mas facil renombrar archivos en maza

      ResponderEliminar
    34. este programa es genial, mil gracias!

      ResponderEliminar
      Respuestas
      1. Hola. Me podrías pasar por privado el programa? Esta el link caído, y parece que de momento no lo van a volver a subir. Gracias de antemano.

        Eliminar
    35. Hola chicos. Alguien que me pueda pasar por privado el programa? Esta el link caído. Mucho animo y Arsenio y demás colaboradores, y seguro que no podrán con nosotros. Gracias por vuestro trabajo.

      ResponderEliminar
    36. El link está caído :(

      ResponderEliminar
    37. Enorme tu trabajo
      Agradeceríamos mucho que pudieras resubir el enlace.
      Un saludo Arsenio

      ResponderEliminar
    38. Si, el aporte parece muy bueno pero no puedo decirlo con certeza porque el link esta caido, ojala lo resubas en un futuro cercano...
      Saludos y gracias por esta herramienta

      ResponderEliminar
    39. Acabo de resubirlo en dos links, perdonen la demora...

      ResponderEliminar
    40. Bueno, muchos me habían pedido el código fuente del programa, a algunos se los pasé por email, pero acá subo, con el siguiente aviso:

      El código fue hecho en Delphi 7, pero la última compilación fue en Delphi XE (y es el código que subo), puede ser que en Delphi 7 no compile. La idea del código es que puedan tomar ejemplos, no que lo usen directamente.

      No responderé dudas sobre el código en sí... espero igual que les sirva.

      ResponderEliminar
    41. Gracias por el aporte. Va directo a la saca

      ResponderEliminar
    42. De siempre usé el Lupas Rename, pero de un tiempo a esta parte, buscaba el modo de generar los html de las cositas que yo hago. (sobretodo imágenes y logos tuneados) Hacía mucho que no pasaba por tú página, porque algún bendito, me dijo que ya no existía........lo que me deprimió tanto, que ni lo corroboré, hasta que ahora en vacaciones, me quería llevar algún Super Humor para tenerlo a mano y voilá......aquí sigues. Lo celebro, al igual que mi nuevo pen solo para comics, jejejejeje. Con tu permiso... le meteré mano a esta joyita, y a base de ensayo y error, espero saber usarlo.
      Un saludo

      dalradiandisir

      ResponderEliminar