【问题标题】:mac default application for any unknown extension任何未知扩展名的 mac 默认应用程序
【发布时间】:2016-06-28 20:47:13
【问题描述】:

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

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

  • 文件.sff123
  • file.sff124
  • file.sff125
  • file.sff126

等等……

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

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

【问题讨论】:

    标签: macos


    【解决方案1】:

    我不确定这是否可能,但以下(未经测试)可能会对您有所帮助,或者其他人可以解决。

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

    我没有您的.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;}' 
    

    【讨论】:

      猜你喜欢
      • 2011-03-21
      • 2016-07-18
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      • 2021-12-30
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多