AppleScript Finder“打开使用”问题

时间:2011-04-26 18:47:41

标签: applescript using finder tell

我在编写脚本时遇到了一些麻烦(我认为会是这样),这是我正在研究的一个非常简单的部分。基本上,我想告诉Finder打开一个具有特定应用程序的文件。简单吧?根据我的阅读,我应该可以使用:

tell application "Finder"
    open "the_file" using "the_application"
end tell

麻烦的是Finder好像有一次找到应用程序。当我使用以下代码时:

set webArcExtract to POSIX file (do shell script "mdfind 'WebArchive Folderizer.app' -onlyin '/Applications/'") as string #Find the Web Archive Extraction Program

tell application "Finder" #Temporary path to save the web archive
    set tempPath to ((home as string) & "temp:")
end tell

tell application "Fake" #Magic that saves a webpage as a webarchive
    load URL "www.google.com"
    delay 3
    capture web page as Web Archive saving in tempPath & "arc.webarchive"
end tell

tell application "Finder" #Open the arc.webarchive file saved in the tempPath with the WebArchive Folderizer application
    open tempPath & "arc.webarchive" using webArcExtract
end tell

变量的值如下:

tempPath:“OSX_Data:用户:用户:” webArcExtract:“OSX:Applications:Utilities:WebArchive Folderizer.app”

尝试运行代码时出现的错误发生在 open tempPath& “arc.webarchive”使用webArcExtract 行。 Finder弹出一条消息,指出“无法找到该应用程序。”

我真的被这个迷惑了。我知道路径是正确的,我知道应用程序可以这样打开文件。我可以使用Finder转到我正在尝试打开的arc.webarchive文件,右键单击该文件,然后选择“使用> WebArchive Folderizer打开”,它运行正常。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

以下是一些建议。 1)获取应用程序路径的一种更简单的方法就是使用applescript的“path to”命令,这样这样的东西应该可以工作......

set theFile to (path to desktop as text) & "a.txt"
set appPath to path to application "TextWrangler"
tell application "Finder" to open file theFile using appPath

2)你不需要为tempPath配置Finder,只需使用“path to”...

set tempPath to (path to home folder as text) & "temp:"

3)最后你需要一个文件说明符,所以在文件路径之前添加关键字“file”就像我在#1中所做的那样......

tell application "Finder"
    open file (tempPath & "arc.webarchive") using webArcExtract
end tell

我希望有所帮助。