3 votos

Limpiar los nombres de los archivos con Automator

Soy bastante nuevo en Automator, en el sentido de que sólo lo he utilizado una vez. Lo que estoy tratando de hacer es limpiar un montón de activos de aplicaciones Android, que se nombran así:

01_something
1_something_else
002_something_too

Lo que quiero hacer es eliminar los dígitos iniciales + el guión bajo, es decir, cualquier carácter inicial no alfabético. Me imagino que esto se puede hacer ya sea por tener un script que sea lo suficientemente inteligente como para eliminarlos, tal vez por algún tipo de regex, o por tener un prompt que me pregunte cuántos caracteres quiero eliminar, si es que Automator soporta eso.

En segundo lugar, me gustaría añadir un prefijo a los archivos, como tile_ o ab_ . De nuevo, si pudiera seleccionar algunos archivos en el Finder, y elegir "Añadir prefijo" o algo así, e introducir algún texto en un aviso, sería óptimo.

6voto

Ryan Spears Puntos 1524

No es necesario un software dedicado al renombrado de archivos para realizar estas operaciones de renombrado por lotes relativamente sencillas: Automator le permitirá crear servicios que hagan lo que usted desea.

Su primera tarea (eliminar un prefijo numérico seguido de un guión bajo de los nombres de los archivos) puede resolverse así:

  1. cree un servicio de Automator (elija "Servicio" cuando se le pregunte qué tipo de flujo de trabajo debe crear Automator). Configúrelo para que tome "Archivos o carpetas" como entrada.

  2. añada una acción "Filtrar elementos del buscador" y configúrela para que filtre con la condición "ninguno" que coincida con "tipo es carpeta" para asegurarse de que sólo tiene archivos.

  3. Añade una acción "Ejecutar Shell script" y asegúrate de que se ejecuta /bin/bash y toma su entrada "como argumentos". Inserte el siguiente código:

    shopt -s extglob
    for f in "$@"; do
        fpath="${f%/*}"
        fname="${f##*/}"
        mv "$f" "$fpath"/"${fname/#+([[:digit:]])_/}"
    done

    - ver el El capítulo del Manual de Referencia de Bash sobre Coincidencia de Patrones para una explicación de cómo funciona (lectura recomendada para este tipo de operaciones de todos modos :)).

  4. guardar en la ubicación predeterminada como "Eliminar prefijo".

- ahora tendrá una opción "Quitar prefijo" en el menú Servicio del Finder (y en el menú contextual de los archivos y carpetas) que renombrará los archivos de manera que el prefijo numérico seguido de un guión bajo sea eliminado del nombre del archivo.

La segunda tarea (prefijando los archivos con una cadena seleccionable) es aún más fácil de lograr, utilizando una acción estándar de Automator:

  1. crear un Servicio Automator como en los pasos 1 y 2 anteriores.
  2. añadir una acción de "Renombrar elementos del buscador". Configúrela como "Añadir texto", introduzca un prefijo por defecto en el cuadro de texto (si lo desea), configure la cadena que se aplicará "antes del nombre". Seleccione "Opciones" en la fila inferior de la acción y marque "Mostrar esta acción cuando se ejecuta" (aviso: estoy en un sistema alemán - todas las traducciones son aproximadas).
  3. guardar en la ubicación predeterminada como "Añadir prefijo".

- Cuando ejecute el servicio en uno o más archivos, verá el siguiente diálogo:

Automator rename option dialog

(o su equivalente en el idioma de su sistema), donde puede editar el prefijo que desea utilizar antes de aplicarlo.

Feliz renombramiento con las capacidades incorporadas de OS X :).

0 votos

@kopishke: ¡Genial gracias! ¿Algún recurso recomendado para aprender mejor Automator?

1 votos

Automatización de Mac OS X es un buen punto de partida.

0voto

Siempre he encontrado la aplicación comercial Un mejor renombramiento del buscador un ahorro de tiempo cuando se trata de resolver acciones complejas como ésta.

El año pasado tuve un conjunto enorme de archivos PDF (¡25.000 archivos individuales!) que necesitaban que se cambiara el nombre de los archivos de Nombre,Apellido .pdf a Apellido_Nombre .pdf. Aunque este es un mod de nombre de archivo relativamente simple, ABFR tiene características mucho más avanzadas que le permitirán hacer lo que necesita.

Lo que facilitó aún más el trabajo fue el genial mecanismo por el que ABFR puede crear un droplet a partir de sus especificaciones de renombramiento. Suelta una carpeta o un archivo en el droplet y ABFR procesa los archivos en un instante.

(Revelación: soy un cliente muy satisfecho de este software, y no tengo ningún interés financiero en ABFR).

0 votos

El operador preguntó por una solución de Automator. Recomendar un software de terceros sólo sería aceptable si Automator no proporcionara ninguna forma de conseguirlo, pero lo hace ver mi respuesta .

1 votos

No es por poner un punto demasiado fino, kopische, pero Automator por sí mismo no puede hacer la operación que Josh solicitó. Su shell script, invocado desde Automator, hace el trabajo pesado. Tal vez Josh, como yo, no puede escribir shell con su estilo y elan, y prefiere usar una aplicación que haga el trabajo rápida y silenciosamente. A mí también me gustaría aprender más técnicas de shell scripting, pero tengo poco tiempo/deseo, ¿capisce?

0 votos

No es por poner un punto demasiado fino, pero Automator hace la mitad de lo que pide OP utilizando acciones configurables por la GUI (anteponiendo a los archivos una cadena seleccionable), si es eso lo que quieres decir "por sí mismo". También diría que las acciones AppleScript y shell script vienen con Automator, por lo que cuentan como "por sí mismas" también, pero eso es una cuestión de semántica. De todos modos, esto no era una crítica a tus preferencias en cuanto a software (yo mismo uso Name Mangler) - sólo mi opinión de que en Stack Exchange, todos deberíamos intentar ceñirnos a la pregunta formulada lo más posible.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X