如何使用 Applescript 打开具有特定扩展名的文件
How to open a file with a specific extension using Applescript
我想知道如何打开具有特定扩展名的文件
在下载文件夹内。我试试这个:
set downloads to "~/Downloads"
set fileExtension to ("pkg")
open every file of downloads whose name extension is fileExtension
我知道我可以使用:
do shell script "open ~/Downloads/blabla.pkg"
这可以正常工作,但每次更新文件都会更改其名称,这对我来说并不有趣。
提前致谢!
虽然 do shell script
可以使用字符串作为路径,但 AppleScript 本身的文件处理能力有限,因此您需要告诉它使用可以执行此操作的东西,例如 Finder 或 系统事件 。 file specifier(例如 alias
、file
或应用程序脚本术语,例如 folder
或 disk item
)也需要用于区分文件项与常规字符串(例如 POSIX 路径)。根据所使用的应用程序,可能与 shell 存在其他差异,例如波浪线扩展,因此 StandardAdditions 脚本添加提供了到常见位置的路径:
set fileExtension to ("pkg")
tell application "System Events"
repeat with anItem in (get every file of (path to downloads folder) whose name extension is fileExtension)
open anItem
end repeat
end tell
另请注意,使用“whose”过滤参考表单仅适用于应用程序对象,不适用于常规列表或记录。 AppleScriptObjC 还可以访问 Cocoa 方法,因此您可以使用 NSWorkSpace 或 NSFileManager 类,尽管走那条路往往会变得更冗长。
我想知道如何打开具有特定扩展名的文件 在下载文件夹内。我试试这个:
set downloads to "~/Downloads"
set fileExtension to ("pkg")
open every file of downloads whose name extension is fileExtension
我知道我可以使用:
do shell script "open ~/Downloads/blabla.pkg"
这可以正常工作,但每次更新文件都会更改其名称,这对我来说并不有趣。 提前致谢!
虽然 do shell script
可以使用字符串作为路径,但 AppleScript 本身的文件处理能力有限,因此您需要告诉它使用可以执行此操作的东西,例如 Finder 或 系统事件 。 file specifier(例如 alias
、file
或应用程序脚本术语,例如 folder
或 disk item
)也需要用于区分文件项与常规字符串(例如 POSIX 路径)。根据所使用的应用程序,可能与 shell 存在其他差异,例如波浪线扩展,因此 StandardAdditions 脚本添加提供了到常见位置的路径:
set fileExtension to ("pkg")
tell application "System Events"
repeat with anItem in (get every file of (path to downloads folder) whose name extension is fileExtension)
open anItem
end repeat
end tell
另请注意,使用“whose”过滤参考表单仅适用于应用程序对象,不适用于常规列表或记录。 AppleScriptObjC 还可以访问 Cocoa 方法,因此您可以使用 NSWorkSpace 或 NSFileManager 类,尽管走那条路往往会变得更冗长。