我想在Mac OSX Lion系统中为特定的文件类型设置默认应用程序。使用以下Apple脚本,我们可以为特定的“file.abc”文件设置默认应用程序。
tell application "System Events"
set default application of file "/Users/test/Desktop/file.abc" to "/Applications/TextEdit.app"
end tell
我希望将相同的应用程序设置为所有文件类型或扩展名为“abc”的文件的默认应用程序。
我尝试了以下内容来实现此操作。它在<HOME>/Library/Preferences/com.apple.LaunchServices.plist
中添加了一个条目。但文件没有使用指定的应用程序打开。
defaults write com.apple.LaunchServices LSHandlers -array-add "<dict><key>LSHandlerContentTag</key><string>abc</string><key>LSHandlerContentTagClass</key><string>public.abc</string><key>LSHandlerRoleAll</key><string>com.apple.textedit</string></dict>"
希望有人能知道我缺少了什么才能实现它。
找到答案:
defaults write com.apple.LaunchServices LSHandlers -array-add "<dict><key>LSHandlerContentTag</key><string>ugurugu</string><key>LSHandlerContentTagClass</key><string>public.filename-extension</string><key>LSHandlerRoleAll</key<string>org.videolan.vlc</string></dict>"
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
-array-add
命令定制到你的情况中,可以使用mdls
并指向一个文件来获取它的kMDItemContentType
。这是LSHandlerContentType
的值。例如,mdls path/to/some/readme.md
输出(其中之一)kMDItemContentType = "net.daringfireball.markdown"
。 - Janoshduti
。 - Janosh