Mở tệp bằng bin dòng lệnh thông qua Finder


1

Tôi muốn sử dụng mp3blaster(cài đặt thông qua MacPorts) thông qua Finder. Tôi muốn bấm đúp vào một tệp mp3 và mở nó ra mp3blaster. Nhưng tôi đã không thể làm như vậy. Tôi đã tạo một ứng dụng và trong một lần thử khác, một dịch vụ trong Automator, sử dụng tập lệnh sau:

/opt/local/bin/mp3blaster $1

Có ý kiến ​​gì không?

Câu trả lời:


1

Bạn sẽ có thể nhận thông tin về tệp .mp3 của mình và thay đổi ứng dụng được liên kết.

Truy cập cmd-iứng dụng của bạn, nhấp vào menu thả xuống "Mở bằng:" .. Chọn othervà điều hướng đến thư mục của bạn. Bạn sẽ phải chọn Enable : All Applicationsđể có thể nhấp vào ứng dụng mp3blaster.


Vấn đề là đó mp3blasterkhông phải là một ứng dụng mà là một cái thùng. Vì vậy, tôi không thể làm những gì bạn đề nghị.
NVaughan

Tôi nghĩ rằng bạn có thể phải tạo một tập lệnh apple và sau đó có các tập tin liên quan đến tập lệnh apple.
Mark Cohen

Cảm ơn. Tôi đã cố gắng, không thành công. Bạn có thể vui lòng cho tôi biết về điều đó?
NVaughan

1

Khởi động Automator, tạo quy trình làm việc với hành động Run AppleScript và lưu nó dưới dạng một ứng dụng.

nhập mô tả hình ảnh ở đây

Sau đó chọn bất kỳ tệp mp3 nào, nhập Cmd-Ivà thay đổi ứng dụng mặc định thành ứng dụng đã lưu trước đó.


Cảm ơn, @patrix. Nhưng nó không hoạt động. Thông báo lỗi tương tự. (Tất nhiên, nếu tôi chạy /opt/local/bin/mp3blastertừ bash shell thì nó hoạt động.)
NVaughan

Điều gì xảy ra nếu bạn chạy nó trong Automator và xem "Kết quả" sau đó?
nohillside


À, tất nhiên, bạn không thể chạy các lệnh tương tác bằng hành động "Run Shell Script".
nohillside

0

Sử dụng $ @ để chỉ một tệp được chuyển đến tập lệnh shell trong Automator:

/opt/local/bin/mp3blaster $@

hoặc là

/opt/local/bin/mp3blaster "$@"

Tôi nhận được lỗi, "Hành động của Run Run Script Script gặp lỗi."
NVaughan

0

Cuối cùng quản lý làm thế nào để làm điều đó bằng cách sử dụng AppleScriptthay vì bash. (Tôi đã làm theo ví dụ này: Kích hoạt Terminal từ quy trình tự động hóa? )

on run {input, parameters}
    tell application "Terminal"
        activate
        if (the (count of the window) = 0) or ¬
            (the busy of window 1 = true) then
            tell application "System Events"
                keystroke "n" using command down
            end tell
        end if
        do script "/opt/local/bin/mp3blaster \"" & (POSIX path of ¬
            (input as string)) & "\"" in window 1
    end tell
    return input
end run

Tuy nhiên, điều này chỉ hoạt động cho các tập tin duy nhất được lấy làm đầu vào. Làm thế nào tôi có thể thay đổi tập lệnh để phân tích nhiều tập tin?
NVaughan
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.