0 votos

En Automator, cómo obtener el contenido de la carpeta después de una acción "Ejecutar Shell script"

Tengo una aplicación de Automator en la que me gustaría arrastrar una carpeta y hacer que se cree un duplicado (hermano) de esa carpeta con los archivos del duplicado renombrados. Por ejemplo, a partir de lo siguiente:

root
 +--svgs
     |--icons_a.svg
     +--icons_b.svg

Al arrastrar el svgs directorio en la aplicación, me gustaría terminar con lo siguiente:

root
 |--svgs
 |   |--icons_a.svg
 |   +--icons_b.svg
 +--renamed-svgs
     |--a.svg
     +--b.svg

He probado lo siguiente: enter image description here

Pero arroja lo siguiente:

enter image description here

No estoy seguro de cómo depurar el error, pero ¿cómo puedo conseguir que la primera acción "Ejecutar Shell script" devuelva la carpeta "renamed-svgs" o el contenido de esa carpeta?

¿O hay una forma mejor de hacer todo esto?

1voto

Baczek Puntos 150

En general, es aconsejable encerrar una variable entre comillas dobles.

Utilice el echo para que devuelva el " renombrado-svgs Carpeta "de la que se puede disponer".

rm -rf "$@"/../renamed-svgs
cp -rf "$@"/ "$@"/../renamed-svgs
echo "$@"/../renamed-svgs/

O utilice el find para devolver los archivos cuyo nombre empieza por iconos_

rm -rf "$@"/../renamed-svgs
cp -rf "$@"/ "$@"/../renamed-svgs
find "$@/../renamed-svgs/" -type f -maxdepth 1 -iname 'icons_*' -print

0voto

Jahh Puntos 36

Este error es exactamente lo que sucederá para bash scripts si la aplicación con la que se comunica no es un Aplicación en marcha cuando se interactúa con él. En cuanto a una mejor manera de realizar la tarea, no, automator es impresionante.

  • Lo sé, no es una respuesta completa, pero no puedo comentar y mi afirmación es cierta.

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