0 votos

Automator: Problema con las carpetas anidadas

¿Alguien puede explicar cómo puedo hacer esto?

Añadir al menú contextual en el elemento del buscador carpetas anidadas que contiene de :
carpetas anidadas
- plantilla uno
- plantilla dos
- plantilla tres

y cada elemento creará una estructura anidada de carpetas en el directorio actual.

Entonces, si elijo en carpetas anidadas->plantilla uno , creará en el directorio actual una estructura anidada de carpetas con la plantilla uno.

¿Qué hice?

He creado un nuevo servicio para Automator.
Añadir acción "Crear nueva carpeta

Todo funciona bien, pero no puedo entender cómo decirle a Automator que cree directorios vacíos anidados. ¿Qué hizo Automator en su lugar?
Supongamos que elijo la carpeta '/rutaACarpeta/CarpetaPadre/CarpetaFuente'.
Si selecciono 'Carpeta' y pulso 'makeNewCustomFolder', Automator creará una 'CustomFolder' como esta:

'/rutaDeCarpeta/CarpetaPadre/CarpetaPersonalizada' - en el mismo nivel de 'CarpetaFuente'.

Pero también Automator copia el contenido de 'SourceFolder' en 'CustomFolder'

1voto

Joel Puntos 338

La forma de crear estructuras de carpetas anidadas es probablemente AppleScript, no Automator. No creo que Automator pueda crear estructuras de carpetas anidadas tan fácilmente como AppleScript.

El siguiente AppleScript crea una estructura de carpetas de la forma

- My first folder
  - A folder within my first folder
    - Another folder within both of those

dentro de la carpeta más frontal en el Finder. Aquí está:

try
  tell application "Finder" to set FOLDER0 to (folder of the front window as alias)
end try

tell application "Finder"
  set folder1 to make new folder at FOLDER0 with properties {name:"My first folder"}
  set folder2 to make new folder at folder1 with properties {name:"A folder within my first folder"}
  set folder3 to make new folder at folder2 with properties {name:"Another folder within both of those"}
end tell

He intentado deliberadamente que sea básico. Toda la estructura se declara en el segundo tell y espero que sea fácil ver cómo ampliarlo. Si quieres probarlo antes de adjuntarlo a un servicio, cópialo y pégalo en Editor de AppleScript (en la carpeta Utilidades).

Este script es bastante ingenuo, y lanza un error si las carpetas ya existen. Si ese es un caso con el que podrías estar trabajando, entonces esta pregunta en Stack Overflow explica cómo modificar un script como éste y sólo crear carpetas que no existan ya.

Si desea crear muchas carpetas con nombres similares (carpeta001, carpeta002, ..., carpeta999), entonces este hilo del foro en Apple Insider puede ser útil.

A continuación, desea vincular esto a un servicio en Automator (que veo en la pregunta que usted sabe cómo hacerlo). El servicio debe recibir carpetas en Buscador y se utiliza el Ejecutar AppleScript para ejecutar el script.

Una vez que tengas ese servicio instalado, puedes hacer clic con el botón derecho del ratón en una carpeta del Finder, y habrá un servicio que creará esta estructura por ti.


Para obtener las diferentes plantillas, se me ocurren dos métodos.

Se podrían crear varios servicios ("Crear carpetas anidadas 1", "Crear carpetas anidadas 2", ). Pero eso parece bastante desordenado. De nuevo, AppleScript es nuestro amigo. Podemos hacer que aparezca un cuadro de diálogo parecido a este:

enter image description here

y la opción que elijamos dictará la estructura de carpetas que se creará. Aquí está el código correspondiente:

set choice to choose from list {"template1", "template2", "template3"}

try
  tell application "Finder" to set FOLDER0 to (folder of the front window as alias)
end try

if choice is "template1" then
  -- create some folders
end if

if choice is "template2" then
  -- create some different folders
end if

if choice is "template3" then
  -- create a third set of folders
end if

Sustituya las líneas que empiezan por -- con el código de generación de carpetas que hemos comentado anteriormente. La lista en la primera línea le da una lista de opciones, y luego se crea un if para cada elección que genera la estructura de carpetas adecuada.

Si utilizas este AppleScript en Automator, el procedimiento es exactamente el mismo, excepto que ahora tienes la opción de ejecutar el servicio en Finder.

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