从AppleScript中的别名列表中仅获取常规文件

时间:2010-06-24 02:38:13

标签: applescript

如果我有一个别名列表,我该如何删除不是常规文件的列表或者只创建一个包含常规文件的新列表。主要问题是如何确定别名是否是常规文件。我尝试了这个,但它很黑,并不总是有效(比如.app文件)。

if (theFile as string) does not end with ":" then ...

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用文件的“kind”属性来确定它是什么......

set theFile to choose file
tell application "System Events"
    set theKind to kind of theFile
end tell

if theKind is not "Application" then
    return "Not an application"
else
    return "Is an application"
end if

答案 1 :(得分:0)

看起来有点像hacky,但这看起来效果很好:

tell application "Finder"
    set regularFiles to {}
    repeat with theFile in theFiles
        if the URL of theFile does not end with "/"
            set end of regularFiles to theFile
        end if
    end repeat
end tell

我最初尝试在末尾测试路径为“:”,但是对于捆绑的应用程序和类似的文件 - 它们是真正的文件夹 - 它会中断。