7 votos

Cómo cambiar el nombre de lote de imágenes, en el reverso de orden numérico?

Mi cámara nombres de sus imágenes IMG_0001.jpg, IMG_0002.jpg, IMG_0003.jpg, etc.

Tengo alrededor de un millar de imágenes y quisiera cambiar el nombre de ellos sin tener que hacerlo manualmente, si es posible.

Hay una buena manera de automatizar el proceso de cambio de nombre en orden inverso - por ejemplo, IMG_0003.jpg, IMG_0002.jpg, IMG_0001.jpg?

12voto

Derek Morrison Puntos 2359

Usted puede usar un Flujo de trabajo de Automator.

Algo como esto:

enter image description here

Especie de Buscador de Artículos de paso será ordenar los nombres de imagen descendente (IMG_0003.jpg, IMG_002.jpg, IMG_001.jpg).

Hacer Secuencial paso será cambiar el nombre de ellos de forma secuencial (IMG_0001.jpg, IMG_0002.jpg, ...).

Copia Buscador de Artículos de paso es opcional, sólo para estar seguro de no meterse con los archivos originales.

4voto

He aquí otra secuencia de comandos de shell. Usted puede guardar como un archivo de texto normal y, a continuación, ejecute bash /path/to/script.sh desde la Terminal. Quitar el echo a realmente cambiar el nombre de los archivos.

cd ~/Pictures/
IFS=$'\n' # the input field separators include space by default
i=1
for f in $(ls -r IMG*.jpg); do 
    echo mv "$f" "IMG_$(printf %04d $i)".jpg
    (( i++ ))
done

3voto

Igor Zelaya Puntos 2266

Pruebe esto en la Terminal:

mkdir new
ls IMG* > 1
sort -r < 1 > 2
paste 1 2 | awk '{ print "mv " $1 " new/" $2} ' > 3
. 3

El renombrado los archivos se almacenarán en la new carpeta.

Aquí está una breve explicación de cómo funciona esto: crea una secuencia de comandos denominada 3 que hace el cambio de nombre. Para eso, se crea un listado de las imágenes en orden alfabético en 1 y en orden inverso, en 2. A continuación, una línea de lectura de cada archivo y se combinan en un mv comando que se ejecuta cuando se ejecuta 3. Las imágenes son de nombre en la new carpeta para evitar colisiones.

2voto

binarybob Puntos 6395

Name Mangler ($10 y tiene una versión de prueba gratuita) o Nombre de Cambiador (libre/donationware) también es muy bueno para este tipo de cosas si usted está después de una agradable, simple aplicación.

1voto

RecQuery Puntos 366

Usted puede utilizar el perl rename.pl secuencia de comandos que se cierne alrededor de la web (por ejemplo, a partir de aquí), y ponerlo en la carpeta con los archivos de imagen.

Su uso es sencillo y está documentado y es bastante potente. Para utilizarlo para su caso, reemplace MAXIMUM_NUMBER por el número de la última foto, a continuación, ejecute:

perl rename.pl 's/IMG_0+(\d+)/"A_IMG_".sprintf("%04d",(MAXIMUM_NUMBER- $1))/xe' *.jpg && perl rename.pl 's/A_//' *.jpg

Para explicar:

  1. La primera de cambiar el nombre (antes &&) cambiará el nombre de todos los archivos a MAXIMUM_NUMBER menos el número que ya está en el nombre de archivo. También el prefijo del nombre de archivo con A_ con el fin de evitar la sobreescritura de los archivos ya existentes.
  2. La segunda cambiar el nombre simplemente elimina el A_ a partir de los nombres de archivo.

Tenga en cuenta que el rename.pl secuencia de comandos se puede hacer mucho más que eso, si alguna vez necesita más complejo el cambio de nombre.

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