任何未知扩展的mac默认应用程序

时间:2016-06-28 20:47:13

标签: macos

我有一系列文件,都是我想用文本编辑器打开的文本文件(比方说Sublime)。

这些文件的扩展名遵循以下模式:

  • file.sff123
  • file.sff124
  • file.sff125
  • file.sff126

依旧......

每当我打开其中一个文件时,会弹出对话框以选择此文件类型的默认应用程序,但由于它们都有不同的扩展名,因此我必须每次都导航并选择新的文件类型。我确实有1000个这些文件,并希望能够打开所有这些文件。此外,我希望能够默认打开Sublime之类的任何未知文件。 99%的时间是一个随机的文本文件... 1%,它不是我“打开”。

有没有办法让Mac识别任何未知的文件扩展名并默认使用我选择的应用程序打开它?

1 个答案:

答案 0 :(得分:1)

我不确定是否有可能,但以下(未经测试)可能会对您有所帮助,或者其他人可能会知道如何做到这一点。

OSX使用UTI(统一类型标识符)对文件类型进行分类并将它们映射到应用程序 - 这与启动服务结合使用以启动相应的应用程序。

我没有.sffnnn个文件可用,但我认为您需要在其中运行mdls并查看kMDItemContentType是什么。您可以在终端中执行此操作:

mdls -name kMDItemContentType somefile.sff123

我希望您为所有.sffnnn文件获取相同的内容类型 - 如果您不这样做,这种方法将无法正常工作。

然后,您需要编辑LaunchServices.plist文件,我认为该文件位于~/Library/Preferences/com.apple.LaunchServices.plist,并创建与您在上面找到的映射到sublime应用程序的文件类型相对应的条目。我建议你查看那里,或系统版本,以查看条目的外观。

一旦掌握了它,您可以通过以下命令从命令行执行此操作:

defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentType=xxxType;LSHandlerRoleAll=xxx.yyy.sublime;}'