Applescript Droplet不会运行另一个处理程序

时间:2015-03-17 18:57:44

标签: applescript

我正在尝试使用下面的代码在Applescript中制作一个Droplet脚本。

我有一个处理程序,它使用所选文件的POSIX路径运行命令行。

当我运行脚本时,一切正常(我的命令行处理程序工作正常)。但是,如果我将文件拖放到我的脚本中,则没有任何反应。

我需要一些帮助,请

on run
   set thePath to POSIX path of (choose file of type "img" default location (path to downloads folder from user domain))
   doIt(thePath)
end run

on open myImageFile
    tell application "Finder"
        if (count of myImageFile) is greater than 1 then
            display alert "A message" as critical
        else if name extension of item 1 of myImageFile is not "img"  then
            display alert "A message" as critical
        else
            set thePath to POSIX path of item 1 of myImageFile
            doIt(thePath)
        end if
    end tell
end open

1 个答案:

答案 0 :(得分:1)

将开放处理程序中的行doIt(thePath)更改为:my doIt(thePath)

出错的原因是你尝试在finder范围内使用你的处理程序,而finder并没有将它重新认识为它自己的东西。因此,您必须在其前面添加my,以便解析处理程序。