Tôi có thể sử dụng mdls để hiển thị Mã nhận dạng loại thống nhất (UTI) cho một tệp tùy ý cũng như phân cấp các loại là siêu bộ của một UTI cụ thể.
mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.ksh
kMDItemContentType = "public.ksh-script"
kMDItemContentTypeTree = (
"public.ksh-script",
"public.shell-script",
"public.script",
"public.source-code",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"
)
mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.command
kMDItemContentType = "com.apple.terminal.shell-script"
kMDItemContentTypeTree = (
"com.apple.terminal.shell-script",
"public.shell-script",
"public.script",
"public.source-code",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"
)
Có công cụ nào có thể hiển thị Ứng dụng nào đã đăng ký cho một UTI cụ thể ngoài bản dùng thử và lỗi không?
Rõ ràng từ kiểm tra rằng foo.command
tập tin sẽ được mở bởi Terminal.app, nhưng không rõ ràng rằng foo.ksh hiện thuộc về TextEdit.app.
Tôi muốn có thể đọc trực tiếp cơ sở dữ liệu Mac OS X Launch Services mà không cần sử dụng open
để xem ứng dụng nào được chọn trên cơ sở UTI. Nó sẽ giống như có các --preview --verbose
công tắc để mở để cho tôi biết những gì sẽ làm hơn là làm nó.
Thậm chí tốt hơn sẽ là một cách để liệt kê tất cả các ứng dụng có thể mở UTI đó, ngay cả khi chúng không phải là ứng dụng ưa thích.
Để có được thông tin thứ cấp này, tôi phải tạo hoặc tìm một tệp cho từng loại sở thích và sử dụng Finder để hiển thị thủ công những ứng dụng nào có thể mở UTI đó.
Tôi thực sự muốn có thể truy cập dữ liệu này theo chương trình từ thiết bị đầu cuối.