2 votos

Cambiar el nombre de los archivos en las subcarpetas añadiendo "_NombreDeLaCarpetaPadre"

Tengo cientos de Carpetas de los padres Cada uno de ellos contiene unos cuantos subcarpetas . Cada subcarpeta tiene unos .docx y unos cuantos .pdf archivos.

Necesito renombrar todos mis archivos dentro de la subcarpeta añadiendo "_" + ParentFolderName .

Antes:

ParentFolder
 Folder1
    Filename1.docx
    Filename1.pdf
    Filename2.docx
    Filename2.pdf
 Folder2
     Filename1.docx
     Filename1.pdf
     Filename2.docx
     Filename2.pdf

Después:

ParentFolder
 Folder1
    Filename1_ParentFolder.docx
    Filename1_ParentFolder.pdf
    Filename2_ParentFolder.docx
    Filename2_ParentFolder.pdf
 Folder2
     Filename1_ParentFolder.docx
     Filename1_ParentFolder.pdf
     Filename2_ParentFolder.docx
     Filename2_ParentFolder.pdf

¿Hay alguna manera de hacer una acción rápida en todas mis carpetas principales al mismo tiempo y renombrar todos mis archivos?

3voto

user3439894 Puntos 5883

Puede crear un Automatizador Acción rápida/servicio con un Ejecutar Shell script acción utilizando el ajustes como se muestra en la imagen más abajo, y sustituyendo el código en el Ejecutar Shell script acción con lo siguiente shell script código :

Ejemplo shell script código :

for d in "$@"; do
    [ -d "${d}" ] || continue
    while IFS= read -r l; do
        mv "${l}" "${l%.*}_${d##*/}.${l##*.}"
    done < <(find "${d}" -type f \! -name '.*')
done

Notas:

Para utilizar el Automatizador Acción rápida/servicio , en Buscador seleccione el CarpetaPadre(s) que contiene el subcarpetas y el archivos dentro de ellos que quieres renombrar con el nombre de la CarpetaPadre añadidos a ellos, y luego Haga clic con el botón derecho del ratón en y seleccione, por ejemplo Añadir ParentFolderName a los archivos de la Acciones rápidas o Servicios menú de contexto .

El ejemplo shell script código que se muestra arriba, se probó como un Automatizador Servicio/Acción Rápida en MacOS Catalina y con Lengua y región ajustes en Preferencias del sistema ajustado a Inglés (EE.UU.) - Primaria y me ha funcionado sin problemas 1 .

  • 1 Asume los ajustes necesarios y apropiados en <strong>Preferencias del sistema </strong>> <strong>Seguridad y privacidad </strong>> <strong>Privacidad </strong>se han fijado/abordado según las necesidades.

Si el ajustes en el Automatizador Acción rápida/servicio están configurados como se muestra en la imagen siguiente, entonces técnicamente [ -d "${d}" ] || continue no es realmente necesario, pero tampoco está de más tenerlo en el código ya que sólo asegura que lo que se pasa es un directorio . Sólo considérelo como tratamiento de errores .

Preste atención al ajustes que se muestra en la imagen de abajo del Automatizador Acción rápida/servicio .

enter image description here

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