该reveal
命令可能对您有所帮助。它只是在查找器中找到一个文件,必要时打开一个新窗口,然后选择该文件——所有这一切只使用一行代码:
tell application "Finder" to reveal path:to:some:file
当然,该文件必须实际存在才能正常工作。当一个特定的文件/目录以别名形式(即)呈现时,您就知道它存在Macintosh HD:Users:billybob:Desktop:howToHack.pdf
。尝试将不存在的文件强制转换为别名将导致错误。如果您 100% 确定该文件存在并且确切地知道它的位置,那么恭喜!你少担心一件事。如果您的确定性水平低于 100%,请使用try-catch
块。他们多次救了我的命。这样,如果您像我一样通过 Internet 分发您的应用程序,您的客户就不会收到无法解读的错误消息。
这方面的一个例子如下所示:
set theFile to "/Users/billybob/Desktop/folder/subfolder/subfolder2/subfolder3/fineByMe.mp3"
try
set theFile to (theFile) as alias
tell application "Finder" to reveal theFile
on error
display alert "The file " & quoted form of theFile & "does not exist."
-- The variable 'theFile' couldn't be coerced into an alias.
-- Therefore, 'theFile' still has a string value and it can be used in dialogs/alerts among other things.
end try
这比你写的更有效还是更省时?老实说,我不是特别确定。但是,我编写了许多脚本,其中包括reveal
Mac OS X 10.5.8 (Leopard)、Mac OS X 10.6.8 (Snow-Leopard) 和 Mac OS X 10.7.3 (Lion) 上的命令,结果一直令人满意。