我可以使用此腳本找到與某個檔案關聯的默認應用程式。
tell application "Finder"
default application of (info for POSIX file "/Users/vk/Pictures/DSCF3320.jpg")
end tell
但是有沒有辦法列出與此檔案關聯的所有應用程式?即當您單擊“打開方式”時在 Finder 中顯示的相同串列?
代碼在 AppleScript 中,但我不一定要求解決方案在 AppleScript 中。
uj5u.com熱心網友回復:
實際上我發現這個簡單的 python 腳本完全符合我的需要:
import sys
from AppKit import NSURL
from LaunchServices import LSCopyApplicationURLsForURL, kLSRolesAll
url = NSURL.fileURLWithPath_(sys.argv[1])
for url in LSCopyApplicationURLsForURL(url, kLSRolesAll):
print url.path()
uj5u.com熱心網友回復:
一種方法是決議以下轉儲:
-- rebuild launch services database
-- do shell script "/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user"
-- get full launch services database info
set dump to do shell script "/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump"
lsregister命令手冊頁在這里
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/351844.html
