O script atual que estou usando para obter o caminho do arquivo para seleção única no localizador é
tell application "Finder"
set thepath to selection as text
set pospath to quoted form of the POSIX path of thepath
end tell
Isso me dá um caminho assim: '/Users/lawsome/Desktop/jan-study/untitled folder/'
Esse formato de caminho está funcionando para passar o caminho de arquivo único para outras ações, como mover ou excluir o arquivo selecionado.
Quando eu estou tentando o mesmo script para várias seleções no finder eu recebo resultado como este:
'/Users/lawsome/Desktop/Business Org Feedback.pdfMacintosh HD/Users/lawsome/Desktop/Top 10Macintosh HD/Users/lawsome/Desktop/Follow_Up_letters_Samples.pdfMacintosh HD/Users/lawsome/Desktop/Learn Outlook Tips.txtMacintosh HD/Users/lawsome/Desktop/OutlookTips.pdf'
Este resultado não funciona para mim. O que estou tentando alcançar é passar vários caminhos para itens selecionados do localizador para outras ações.
Se eu arrastar vários arquivos no terminal, ele mostrará o caminho dos arquivos em um formato diferente e isso funcionará para outras ações. Como posso obter o caminho corretamente através de um script ou através de um comando de terminal.
fonte
set destpath to "~/.trash" do shell script "mv " & thePathFilename & " " & destpath
. Funcionou.tell application "Finder" to move selection to trash
nenhum outro código é necessário, sem tratamento de erros, conforme apropriado. O mesmo vale para a movimentação de arquivos, oselection
que não precisa necessariamente ser dividido em umrepeat
loop, por exemplo,set thisLocation to POSIX file "/path/to/folder/" as alias
e, em seguida,tell application "Finder" to move selection to thisLocation -- with replacing
ao descomentar (removendo o--
), se você quiser substituir os itens existentes. Mais uma vez, sem tratamento de erros, conforme apropriado.