Lo primero que veo mal en su código es tell application Finder
, como Finder
en este caso es un variable ya que no está entre comillas. Debería serlo: tell application "Finder"
Dicho esto, tienes como Etiquetas, MacOS , mac , applescript y automatizador y no ha indicado en el PO dónde y cómo ha aplicado el código a la carpeta de destino , this_folder
como Carpeta Acción . En otras palabras, si ha creado el Carpeta Acción en Automatizador y tener justo eso código como el código en un Ejecutar AppleScript acción incluso con las comillas dobles alrededor de Buscador fallará. Esa estructura de codificación sólo es válida como AppleScript .scpt archivo asignado a un Carpeta Acción utilizando Configuración de las acciones de la carpeta... en el Servicios sección del menú de contacto en Buscador .
Lo siguiente código de ejemplo es como lo escribiría como un AppleScript .scpt archivo asignado a un Carpeta Acción utilizando Configuración de las acciones de la carpeta... en el Servicios sección del menú de contacto en Buscador .
on adding folder items to this_folder after receiving added_items
try
tell application "Finder"
repeat with this_item in added_items
if (class in (get properties of this_item) as string) is "«class cfol»" then
make new folder at this_item with properties {name:"Main"}
make new folder at this_item with properties {name:"Lower"}
make new folder at this_item with properties {name:"Upper"}
end if
end repeat
end tell
end try
end adding folder items to
Tenga en cuenta que aunque al utilizar el try
declaración debería comerse cualquier error, no obstante, también he añadido un if
declaración para asegurarse de que el artículo que se actúe es un carpeta no un archivo . Tenga en cuenta que mientras el if
declaración no es absolutamente necesario, sin embargo, es una forma más adecuada de escribir código en mi opinión, sin embargo, podría quedar fuera si usted quiere.
Usuario AppleScript .scpt archivos para Acciones de la carpeta debe guardarse, por ejemplo, en
/Users/me/Library/Scripts/Folder Action Scripts/filename.scpt
Si está creando el Carpeta Acción a través de Automatizador , entonces en el Ejecutar AppleScript acción utilice lo siguiente ejemplo código_:
on run {input, parameters}
try
tell application "Finder"
repeat with this_item in input
if (class in (get properties of this_item) as string) is "folder" then
make new folder at this_item with properties {name:"Main"}
make new folder at this_item with properties {name:"Lower"}
make new folder at this_item with properties {name:"Upper"}
end if
end repeat
end tell
end try
end run
Tenga en cuenta que he probado ambos bloques de código de ejemplo bajo las condiciones indicadas anteriormente y funciona tal y como está codificado.