Automator / Applescript: как получить оригинал из псевдонима папки - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь создать контекстное меню, чтобы открыть файл / папку в VS Code из исходного элемента или его псевдонима

Пока мне удалось создать службу Automator, которая:

  • получает выбранные: файлы или папки
  • в: любое приложение запускается
  • сценарий оболочки:

open -n -b "com.microsoft.VSCode" --args "$*"

Как я могу изменить его, чтобы принимать также псевдонимы?

1 Ответ

0 голосов
/ 28 января 2019

Символические ссылки должны быть в порядке, но псевдонимы Finder обычно не работают, так как большинство утилит оболочки рассматривают их как небольшие файлы данных и не знают, как их интерпретировать. Одним из решений будет добавление действия Запуск AppleScript для поиска псевдонимов во входных данных и использования вместо него исходного элемента, например:

  • Служба получает выбранные файлы или папки в любом приложении
  • Запустить AppleScript :

    on run {input, parameters}
      set output to {} -- this will be a list of the output items
      tell application "Finder" to repeat with anItem in the input
        if anItem's kind is "Alias" then
          set the end of output to POSIX path of (original item of anItem as alias)
        else
          set the end of output to POSIX path of anItem
        end if
      end repeat
      return output
    end run
    
  • Запуск сценария оболочки и т. Д.
...