我想设置一个小程序,用于以非标准格式存档我的文件(例如非.zip / .cpgz / .tar),只使用Applescript和每种格式的命令行版本工具。我需要弄清楚的最后一件事是如何通过Applescript在Finder中获取当前突出显示的文件的路径,以便我可以将其传递给bash。
我已经搜索了一下,似乎无法通过搜索引擎或此论坛找到答案。我发现并且仍然发现Apple的文档有大约40/60的机会过于稀疏和/或过时,甚至根本不存在任何给定的主题,所以我选择在可能的情况下不使用它。请不要只链接到Apple文档页面,我们将非常感谢真实世界的示例。
目标平台是macOS 10.13.2,Automator 2.8,Applescript 2.7。
答案 0 :(得分:1)
有多种方法可以做到这一点,还取决于如何选择 Finder 项目。如果在 Finder 中只选择了一个项,则为以下示例:
set theTarget to POSIX path of (application "Finder"'s selection as string)
或者,如果路径名包含空格,请使用:
set theTarget to quoted form of POSIX path of (application "Finder"'s selection as string)
没有显示的示例,其他方式可能取决于它在代码的其余部分中的位置/位置以及是否选择了多个项 Finder,但这是一个开始的地方。
BTW如果您从bash
执行此 AppleScript ,而不是脚本编辑器,其他示例运行,则使用osascript
中的bash
运行上面显示的相同示例 AppleScript 代码,只需一个项在 Finder 中选择,它将是:
theTarget="$(osascript -e "POSIX path of (application \"Finder\"'s selection as string)")"
或者:
theTarget="$(osascript -e "quoted form of POSIX path of (application \"Finder\"'s selection as string)")"