Chọn một ứng dụng mặc định để mở tập tin không có phần mở rộng?


27

Có thể đặt ứng dụng mặc định để mở tệp không có phần mở rộng không? Tôi không đề cập đến các tập tin với phần mở rộng ẩn, nhưng những người hoàn toàn thiếu một phần mở rộng - ví dụ như README, CHANGELOG, mboxvv

"Mở bằng" => "Thay đổi tất cả" trên các tệp này không hoạt động, trả về lỗi hiển thị bên dưới:

Mở bằng / Thay đổi tất cả - Thất bại

Lý tưởng nhất, tôi muốn hệ thống thử mở tất cả các tệp như vậy trong TextMate. Tôi biết tôi có thể kéo các tệp vào biểu tượng Dock để mở chúng trong các ứng dụng cụ thể, nhưng tôi đang tìm kiếm một giải pháp liền mạch hơn thế (đặc biệt là khi tôi có tính năng tự động ẩn Dock, khiến nó trở nên cồng kềnh hơn nhiều).

Tôi quen thuộc với plugin QuickLook của QLStephen có thể kích hoạt QuickLook cho một số các tệp này, nhưng tôi thích một giải pháp với khả năng chọn / sao chép / chỉnh sửa.

Câu trả lời:


12

Bạn có thể thêm một ứng dụng mặc định cho public.plain-text trong ~ / Library / Preferences / com.apple.LaunchService.plist.

defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.apple.textedit;}' '{LSHandlerContentType=public.unix-executable;LSHandlerRoleAll=com.apple.textedit;}'

Khởi động lại để áp dụng các thay đổi (đăng xuất và đăng nhập lại là không đủ).

Tôi đã thêm nó vào tập tin cấu hình duti :

com.apple.textedit public.plain-text all
com.macromates.textmate public.unix-executable all

5
Điều này có vẻ như là một điều tốt, chi tiết hơn về những gì đang diễn ra ở cấp cao nhất sẽ tốt đẹp. Một phần giới thiệu, những gì đang diễn ra ở bước 1, v.v.
MrDaniel

4

Bạn có thể làm điều này bằng Magic Launch. Sau khi cài đặt, bạn có thể tạo quy tắc để khởi chạy dựa trên các tiêu chí khác nhau. Bạn cần tạo quy tắc cho các ứng dụng văn bản có phần mở rộng trống. Bạn có thể thiết lập logic phức tạp hơn nếu bạn cần nó.

http://michelf.com/software/magic-launch/


Bạn nói đúng - Tôi đã phải tạo một quy tắc tùy chỉnh để xử lý các tệp có phần mở rộng trống ... nhưng có vẻ như nó đã hoạt động - cảm ơn! Nhược điểm duy nhất là $ 13. Tôi không gặp vấn đề gì khi trả tiền cho các ứng dụng tốt, nhưng điều đó hơi khó khăn khi tôi chỉ tìm kiếm một tính năng này.
Austin

0

Hãy xem RCDefaultApp (phần mềm miễn phí).

RCDefaultApp là ngăn tùy chọn Mac OS X 10.2 trở lên cho phép người dùng đặt ứng dụng mặc định được sử dụng cho các lược đồ URL khác nhau, phần mở rộng tệp, loại tệp, loại MIME và Số nhận dạng loại thống nhất (hoặc UTI; chỉ MacOS 10.4).


1
Tôi thích nó miễn phí, nhưng không có cách nào để đặt ứng dụng mặc định cho các tệp không có tiện ích mở rộng. Sử dụng các loại MIME có thể xấp xỉ phần này, nhưng sau đó nó thay đổi ứng dụng mặc định của tất cả các tệp văn bản, không chỉ các loại không có phần mở rộng. Dù sao cũng cảm ơn lời đề nghị - có lẽ nó sẽ giúp được người khác.
Austin

0

Một chút muộn màng, câu hỏi "Làm thế nào để tránh các tập tin không chữ mở trong thiết bị đầu cuối" là một chút cũ. Tuy nhiên:

Các giải pháp trên liên quan đến việc thay đổi các quy tắc hiện có, có thể có tác dụng phụ không mong muốn. Tôi thấy cách dễ nhất là khai thác các quy tắc hiện có cho các tệp không chữ và thay đổi quyền truy cập tệp để có được kết quả tôi muốn.

Cụ thể: Tắt bit thực thi trên tệp, vì đó là dịch vụ tệp đang mở với thiết bị đầu cuối với "tên tệp chmod -x" trong đó tên tệp là ... tên tệp.

Điều này có thể được tự động hóa ở một mức độ nào đó (một cách thận trọng): Trong trường hợp của tôi, tôi có rất nhiều tệp README trên máy. Tôi có thể sử dụng "find" để tìm tất cả các tệp "README". Và sau đó sử dụng "awk" để xây dựng một lệnh để loại bỏ bit thực thi trên tất cả chúng như sau:

find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'

nhập nó vào thiết bị đầu cuối nếu bạn muốn kiểm tra những tập tin nào sẽ được thay đổi: Đầu ra sẽ bao gồm một danh sách cho mỗi README được tìm thấy giống như thế này:

chmod -x //Users/jimpsmith/things/README

Và để thay đổi tất cả các quyền đó thực thi tất cả các dòng này bằng cách tính phí chúng để bash như sau:

find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash

Chỉ cần cẩn thận với việc sử dụng các ký tự đại diện quá tự do và thấy rằng bạn đã vô tình xóa bit thực thi khỏi một số tệp thực thi khớp sai.


Một cách dễ dàng hơn là chỉ chạy

find /$HOME -iname 'README' -exec chmod -x '{}' \;`

hoặc (để xem điều gì sẽ xảy ra)

find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`

1
Tôi bằng cách nào đó không hiểu làm thế nào điều này giải quyết vấn đề được nêu trong câu hỏi. README, ChangeLog, v.v. thường không có x bit được thiết lập để bắt đầu bằng mọi cách. Vấn đề là OS X dựa vào hậu tố để xác định ứng dụng mở tệp và các tệp này không có hậu tố.
nohillside
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.