为什么将文件夹拖放到Applescript应用上会显示一个对话框?

时间:2018-10-16 15:46:12

标签: applescript droplet

我有一个Applescript应用程序,可以接收拖放到其图标上的文件或文件夹:

on open theDroppedItems
    tell application "Finder"
       set droppedItemSourcePath to (the POSIX path of theDroppedItems)
       ...

在脚本的这一点上,当我的应用程序接收文件或文件夹时,名为“ Droplet”的未知且无用的Applescript应用程序将显示一个打开的文件/文件夹对话框。 我的脚本是通过Script Debugger 6编译为应用程序的。

我不明白为什么这个奇怪的“ Droplet”应用会问我一些问题。

1 个答案:

答案 0 :(得分:1)

错误是theDroppedItemsalias指定者的列表,即使仅删除了一个文件并且获取列表的POSIX路径也会引发错误

要获取放置的项目的所有POSIX路径,请使用

on open theDroppedItems
    set {TID, text item delimiters} to {text item delimiters, return}
    set droppedItemsSourcePaths to POSIX path of (theDroppedItems as text)
    set text item delimiters to TID
    display dialog droppedItemsSourcePaths buttons {"OK"} default button "OK"
...

要循环处理文件

on open theDroppedItems
    repeat with anItem in theDroppedItems
      -- do something with anItem
    end repeat

...

仅当您要使用Finder术语时才使用Finder tell块。

提到的Droplet是您的应用。