Estou escrevendo um AppleScript em um fluxo de trabalho do Automator e preciso obter a pasta pai de um objeto de arquivo (ou pasta). Eu procurei por tudo isso e obtive as mesmas respostas, que são usar as propriedades "contêiner", "pai" ou "pasta". No entanto, nenhum desses trabalhos funciona para mim, estejam ou não envolvidos em um bloco "tell" "Finder".
Assim, se eu tentar algo como:
set a to POSIX file "/usr/local"
tell application "Finder"
set b to container of a
end tell
display alert a
Recebo a mensagem de erro "Não consigo obter o contêiner do arquivo" Macintosh HD: usr: local ". ' A mesma coisa acontece com o pai e a pasta.
Além disso, se eu exibir "classe de alerta de um", recebo "furl". Isso está no Editor AppleScript. Por outro lado, um fluxo de trabalho do Automator com um módulo Executar Applescript com o texto
on run {input, parameters}
repeat with i from 1 to length of input
set the_file to item i of input
display alert class of the_file
end repeat
return input
end run
exibe "1634494835" em uma caixa de alerta. Mas se eu usar "return class of the_file", e usar o módulo View Results, ele mostrará o resultado como {alias}. Apesar dessas designações de classes estranhas, posso usar alias e propriedades de arquivo regulares, como "caminho POSIX", com o objeto de arquivo.
Alguém tem alguma idéia do que está acontecendo aqui? Minha biblioteca AppleScript está quebrada ou algo assim?