AppleScript để hiển thị nội dung gói ẩn gốc của bí danh


5

Tôi đang cố gắng xây dựng một quy trình làm việc của Automator (sẽ được lưu dưới dạng Dịch vụ, để tôi có thể truy cập nó từ các menu theo ngữ cảnh và gọi nó bằng một phím tắt), nó sẽ hoạt động giống như "Show Pack tích hợp" của Trình tìm kiếm Nội dung "lệnh, nhưng sẽ chấp nhận thêm bí danh của gói làm đầu vào. Dịch vụ này sẽ đáp ứng như sau:

Nó sẽ chỉ khả dụng khi lựa chọn của Finder bao gồm một gói hoặc bí danh của gói.

Thay vì hiển thị nội dung của chính thư mục gói như lệnh tích hợp, Dịch vụ sẽ hiển thị nội dung của thư mục "Nội dung" (nếu có), nằm ngay trong thư mục gói.

Nếu lựa chọn của Trình tìm kiếm là một gói hoặc bí danh trên màn hình nền, thư mục Nội dung sẽ được mở trong cửa sổ Finder mới. Nếu không, thư mục Nội dung sẽ được mở trong cửa sổ Finder chứa lựa chọn.

Cách tiếp cận của tôi trước tiên là để tập lệnh xác định xem tập tin có phải là Bí danh hay không và nếu có, hãy nói cho tập lệnh hiển thị nội dung của bản gốc. Nếu tệp không phải là bí danh, tôi muốn nói với kịch bản chỉ hiển thị nội dung của đầu vào.

Loại trừ khả năng bí danh là đầu vào và giả sử gói đầu vào được chọn trong cửa sổ Finder, tôi có thể viết thành công tập lệnh hiển thị nội dung của thư mục nội dung của gói trong cùng một cửa sổ:

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

Khi tôi cố gắng thiết lập sơ đồ "nếu ... thì ... khác", tôi thất bại.

Tôi đang sử dụng các phiên bản mới nhất của tất cả các phần mềm có liên quan.


Chào mừng, chúng tôi không bỏ qua bạn, chỉ chờ đợi một người có thể trả lời câu hỏi của bạn.
Ruskes

Xin vui lòng bạn có thể thêm một thất bại, nếu / sau đó / khác, cố gắng. Gỡ lỗi tại sao điều này không thành công sẽ có thể dẫn đến một giải pháp nhanh hơn cho bạn.
Graham Miln

Câu trả lời:


1

folder "Contents" of cũng hoạt động với bí danh:

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

Bạn cũng có thể chỉ định một phím tắt để hiển thị nội dung gói từ Tùy chọn hệ thống:

Command-R hiển thị tệp gốc của bí danh.


1

Bạn có thể thử một cái gì đó như thế này:

   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

Bạn cũng có thể muốn bao gồm một bài kiểm tra để đảm bảo đầu vào là loại dự kiến.


Quy trình công việc này không thành công: "Chạy AppleScript thất bại - 1 lỗi: Trình xử lý AppleEvent không thành công."
Parker

Có thêm một dấu hai chấm. Thử lại.
adayzdone

0

Tôi hiểu rồi:

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.