5 votos

Cómo bulk rename en OS X con mis requisitos

Hay una utilidad que se puede cambiar el nombre de filtros en varias subcarpetas y, a continuación, cambiar el nombre de los archivos en forma secuencial?

E. g. Yo seleccione my-pictures y que va a hacer su magia y de forma secuencial renombrar todos los archivos en todas las subcarpetas. Para cada nueva subcarpeta, la numeración se reinicia a 1.

la vieja estructura

my-pictures (parent folder)
-- folder1
---- in-costa-rica.png
---- swimming-at-beach-costa-rica.png
-- panama-folder
---- panama-canal.png
---- with-witch-doctor.png

deseado/nueva estructura

my-pictures (parent folder)
-- folder1
---- 0001.png
---- 0002.png
-- panama-folder
---- 0001.png
---- 0002.png

6voto

Las siguientes líneas en la Terminal debe hacer el truco

for dir in my-pictures/*; do
    if [[ -d "$dir" ]]; then
        cd "$dir"
        i=0
        for file in *; do
            echo mv "$file" $(printf "%04d" $i).png
            (( i=i+1 ))
        done
        cd -
    fi
done

Yo lo he puesto en un echo instrucción para suprimir la ejecución de modo que usted puede probar primero. Si la salida se ve bien, sólo hay que quitar la echo y vuelva a ejecutar.

Esto supone que no hay más de 1000 archivos en cada subcarpeta, ninguno de los archivos ya está cambiado de nombre y de que todas ellas están las imágenes PNG.

De forma predeterminada, los archivos están ordenados por nombre. Si desea ordenar por fecha, reemplace el segundo for declaración con

for file in $(ls -t); do

0voto

Aaron Lake Puntos 121

Si que se puede hacer con la selección de los distintos sub-carpetas, hay una aplicación para eso. No podría hacer exactamente lo que usted desea, pero puede ahorrar un montón de tiempo sin embargo.

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