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 .