如何将 "use framework" Foundation 和“使用脚本添加”与“POSIX 文件的信息”一起使用?

How can you use "use framework" Foundation " and " use scripting additions " with " info for POSIX file "?

我遍历了每个框架,每次我尝试 "info for POSIX file" 或 "info for file" 我都会遇到找不到文件的错误。 目前,我已经回到了 "do shell script" (basename, dirname, ls),它工作得很好。在 applescript 脚本中求助于 "do shell script"

是非常容易的

下面是不适用于 "use framework" Foundation 的示例脚本“
和“POSIX 文件的信息”

global testdir
use framework "Foundation"
use scripting additions

    set testdir to POSIX path of (choose file)

    set {name:Nm, name extension:Ex} to info for POSIX file testdir

info for 采用别名或文件引用,例如来自 choose file 的结果。 POSIX file 来自 StandardAdditions Scripting Addition(Foundation 是一个更适用于 AppleScriptObjC 的 Cocoa 框架,并且是只是那些不能在任何地方都很好用的项目之一。在这种情况下,它作为强制转换效果更好:

set {name:Nm, name extension:Ex} to info for (testdir as POSIX file)

info for 也被弃用了一段时间 - 系统事件 是推荐的替代方案,并且往往与 POSIX 路径一起工作得更好:

tell application "System Events" to set {name:Nm, name extension:Ex} to disk item testdir

直接跳过POSIX路径绕路:

set testfile to (choose file) -- The name testdir for a file is confusing 
set {name:Nm, name extension:Ex} to info for testfile