AppleScript Finder проблема "открыть с помощью" - PullRequest
1 голос
/ 26 апреля 2011

У меня возникли проблемы с написанием сценариев (что я и думал), очень простой раздел того, над чем я работаю. По сути, я хочу сказать 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: Users: user:" webArcExtract: "OSX: Приложения: Утилиты: WebArchive Folderizer.app"

Ошибка, возникающая при попытке выполнить код, возникает в open tempPath & "arc.webarchive" с использованием строки webArcExtract . Из Finder появляется сообщение о том, что «Приложение не найдено».

Я действительно сбит с толку этим. Я ЗНАЮ, что путь правильный, и Я ЗНАЮ, что приложение может открывать файлы таким образом. Я могу использовать Finder, чтобы перейти к файлу arc.webarchive, который я пытаюсь открыть, щелкните правой кнопкой мыши по файлу и выберите «Открыть с помощью> WebArchive Folderizer», и он отлично работает.

Есть предложения?

1 Ответ

3 голосов
/ 27 апреля 2011

Вот пара предложений. 1) более простой способ получить путь к приложению - просто использовать команду «path to» appleScript, чтобы что-то вроде этого работало ...

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) Вам не нужен Finder для tempPath, снова просто используйте «путь к» ...

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

Надеюсь, это поможет.

...