Limpie los nombres de los archivos usando Automator

2

Soy bastante nuevo en Automator, en que lo he usado solo una vez antes. Lo que estoy tratando de hacer es limpiar un montón de recursos de aplicaciones de Android, que se denominan así:

01_something
1_something_else
002_something_too

Lo que quiero hacer es eliminar los dígitos iniciales y el subrayado, es decir, cualquier carácter inicial no alfabético. Me imagino que esto se puede hacer ya sea haciendo que un script sea lo suficientemente inteligente como para eliminarlos, tal vez por algún tipo de expresión regular, o pidiéndome cuántos caracteres quiero eliminar, si Automator lo admite.

En segundo lugar, me gustaría agregar un prefijo a los archivos, como tile_ o ab_ . Nuevamente, si pudiera seleccionar algunos archivos en el Finder, y elegir ‘Agregar Prefijo’ o algo así, e ingresar algún texto en un mensaje, sería óptimo.

    
pregunta Josh 31.05.2012 - 16:37

2 respuestas

5

No es necesario que el software de cambio de nombre de archivos dedicado realice operaciones de cambio de nombre por lotes relativamente simples: Automator le permitirá crear servicios que hagan lo que usted quiere.

Su primera tarea (eliminando un prefijo numérico seguido de los nombres de archivo de un formulario de subrayado) se puede resolver de la siguiente manera:

  1. cree un servicio de Automator (elija "Servicio" cuando se le pregunte qué tipo de flujo de trabajo debe crear con Automator). Configúrelo para tomar "Archivos o carpetas" como entrada.
  2. agregue una acción de "Elementos del buscador de filtros" y configúrela para que se filtre con la condición de que "ninguna" coincida con "kind is Folder" para asegurarse de que solo tenga archivos.
  3. Agregue una acción "Ejecutar script de shell" y asegúrese de que 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
    

    - vea el capítulo del Manual de referencia de Bash sobre la coincidencia de patrones para una explicación de cómo funciona esto (lectura recomendada para este tipo de operación de todos modos :)).

  4. guárdelo en la ubicación predeterminada como "Eliminar prefijo".

: ahora tendrá un "Eliminar Prefijo" en el menú Servicio del Buscador (y el menú contextual de archivos y carpetas) que cambiará el nombre de los archivos para que se elimine un prefijo numérico seguido de un guión bajo del nombre del archivo.

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

  1. cree un Servicio Automator como en los pasos 1 y 2 anteriores.
  2. agrega una acción "Cambiar el nombre de los elementos del buscador". Establézcalo en "Agregar texto", ingrese un prefijo predeterminado en el cuadro de texto (si lo desea), establezca 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" (descargo de responsabilidad: estoy en un sistema alemán - todas las traducciones son aproximativas).
  3. guárdalo en la ubicación predeterminada como "Agregar prefijo".

: cuando ejecute el servicio en uno o más archivos, verá el siguiente cuadro de diálogo:

(o, más bien, su equivalente en el idioma de tu sistema), donde puedes editar el prefijo que deseas usar antes de aplicarlo.

Feliz cambio de nombre con las habilidades a bordo de OS X :)

    
respondido por el kopischke 31.05.2012 - 21:19
0

Siempre he encontrado que la aplicación comercial A Better Finder Rename es un ahorro de tiempo al tratar de resolver acciones complejas como esto.

El año pasado tuve un enorme conjunto de archivos PDF (¡> 25k archivos individuales!) que necesitaban cambiar sus nombres de archivo de Nombre, Apellido .pdf a ApellidoNombre_FirstName .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 hizo que el trabajo fuera aún más fácil fue el excelente mecanismo mediante el cual ABFR puede crear una gota de sus especificaciones de cambio de nombre. Soltar una carpeta o archivo en la gota: ABFR procesa los archivos en un instante.

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

    
respondido por el IconDaemon 31.05.2012 - 20:44

Lea otras preguntas en las etiquetas