Carregando dinamicamente uma ação do Automator com base em um nome de arquivo

0

Gostaria de criar uma ação do Automator que carregará uma ação externa do Automator com base em uma parte de um nome de arquivo, ao arrastar a pasta.

Por exemplo:

Nome do arquivo [Type1] .xxx
Nome do arquivo [Type2] .xxx
Nome do arquivo [Type3] .xxx

Os tipos 1 - 3 executarão um automator especificado personalizado para esse arquivo. Tudo isso é possível?

Justin Kok
fonte
1
Sempre seguirá o padrão de conter um colchete, depois o tipo de palavra, um número e depois um colchete?
JBIS
Por que não conter apenas todos os scripts do Automator em um? Por que \ ele precisa carregar um externo?
JMY1000
@ Jbis Não necessariamente. Pode haver sufixos e cadeias adicionais dentro do nome do arquivo, dependendo da situação.
23618 Justin Kok
@JustinKok Então, qual será o formato.
JBIS
1
IMO Sua pergunta, como está, está mal escrita! Não está totalmente claro o que você está tentando realizar. O Automator não tem como executar uma ação baseada apenas em "arrastar pasta". Se você está realmente se referindo a arrastar e soltar itens do Finder em um aplicativo Automator, deve declarar isso de forma clara e clara. Você também deve incluir exemplos reais do antes e depois do que está tentando realizar, além de mostrar quais ações do Automator já estão envolvidas!
user3439894

Respostas:

1

Salve o seguinte script como um aplicativo. Copie e cole no Editor de scripts (não no automatizador):

on open myItems
    set ds to {"file1", "file2", "file3"} # Enter identifiyers
    set scriptlocation to {"dothis.app", "imeanthis.app", "PleaseUpvoteMy.app} # Enter scripts location as POSIX path, respectivly
    repeat with myItem in myItems
        tell application "Finder"
            set theName to the name of (myItems as alias)
        end tell
        set rptvly to getIndex of theName of ds
        do shell script "open " & the quoted form of rptvly
    end repeat
end open




to getIndex of i from l
    repeat with n from 1 to count l
        if (i as string) contains ((l's item n) as string) then return n
    end repeat
    0
end getIndex

Comente os erros, pois estou no Mojave beta e estou com problemas em que não consigo executar scripts

JBis
fonte
LMAO ... "PleaseUpvoteMy.app". ... Brilhante Absolutamente Brilhante #
wch1zpink
@ wch1zpink :) :) #
21418 JBis 17/07