AppleScript для відображення вмісту пакета прихованого оригіналу псевдоніму


5

Я намагаюся створити робочий процес Автоматизатора (який буде збережено як Сервіс, так що я можу отримати доступ до нього з контекстних меню та викликати його за допомогою комбінації клавіш), який буде функціонувати так само, як вбудований в Finder "Показати пакет Команда "Зміст", але вона додатково сприймає псевдонім пакета як вхідний. Послуга задовольнить наступне:

Він буде доступний лише тоді, коли вибір Finder складається з пакета або псевдоніма пакета.

Замість того, щоб показувати вміст самого каталогу пакунків, як це робить вбудована команда, Сервіс покаже вміст каталогу "Зміст" (якщо він існує), що знаходиться безпосередньо в каталозі пакунків.

Якщо вибір Finder являє собою пакет або псевдонім на робочому столі, каталог Contents слід відкрити в новому вікні Finder. В іншому випадку каталог Вміст слід відкрити у вікні Finder, що містить вибір.

Мій підхід полягав у тому, щоб сценарій спочатку визначив, чи є файл псевдонімом, і якщо він є, сказати сценарію, щоб він відображав вміст оригіналу. Якщо файл не є псевдонімом, я хотів би сказати сценарію просто показати вміст введеного тексту.

Виключаючи можливість псевдоніму як введення та припускаючи, що вхідний пакет обраний у вікні Finder, я можу успішно написати сценарій, який показує вміст папки вмісту пакета в тому ж вікні:

on run {input, parameters}
    set my_output to {}
    repeat with oneItem in input
        tell application "Finder" to set target of window 1 to ((oneItem as text) & "Contents")
end repeat
return input
end run

Коли я намагаюся створити схему "якщо ... то ... інше", я не вдається.

Я використовую останні версії всього відповідного програмного забезпечення.


Ласкаво просимо, ми не ігноруємо вас, просто чекаємо того, хто зможе відповісти на ваше запитання.
Ruskes

Будь ласка, можете додати невдалу спробу, якщо / потім / ще. Налагодження, чому це не вдається, швидше призведе до швидшого вирішення для вас.
Грем Мілн

Відповіді:


1

folder "Contents" of також працює з псевдонімами:

on run {input, parameters}
    tell application "Finder"
        repeat with f in input
            open folder "Contents" of f
        end repeat
    end tell
end run

Ви також можете призначити ярлик для відображення вмісту пакета з Налаштування системи:

Command-R показує оригінальний файл псевдоніма.


1

Ви можете спробувати щось подібне:

   on run {input, parameters}
    tell application "Finder"
        repeat with oneItem in input
            if kind of oneItem = "Alias" then set oneItem to oneItem's original item
            set contentsPath to (oneItem as text) & "Contents"
            if oneItem's container as text = (path to desktop as text) then
                open contentsPath
            else
                set target of window 1 to contentsPath
            end if
            activate
        end repeat
    end tell
end run

Ви також можете включити тест, щоб переконатися, що вхід очікуваний тип.


Цей робочий процес не вдається: "Не вдалося запустити AppleScript - 1 помилка: не вдалося обробляти AppleEvent."
Паркер

Була додаткова кишка. Спробуйте ще раз.
adayzdone

0

Зрозумів:

on run {input, parameters}
    tell application "Finder"
        repeat with f in input
            reveal f
            set target of window 1 to (folder "Contents" of f as text)
        end repeat
    end tell
end run
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.