👋

MacでCUIを使ってファイル拡張子とアプリを関連付けるを管理する

2024/08/21に公開

はじめに

Mac上でjsonファイルをクリックしたらxcodeが起動してしまった。
全PC共通の関連付け設定を管理したい。

duti のインストール

brew install duti

duti の基本的な構文

dutiの基本的な使用方法は次の通りです

duti -s <bundle_id> <file_extension> <role>
  • <bundle_id>: アプリケーションのバンドルID
  • <file_extension>: 関連付けたいファイル拡張子(例:.txt)
  • <role>: all(デフォルト), viewer, editor, shellなど

バンドルIDの確認

mdls コマンドで.APPのファイルパスを指定することでバンドルIDを調べることができます。

% mdls -name kMDItemCFBundleIdentifier /Applications/Visual\ Studio\ Code.app
kMDItemCFBundleIdentifier = "com.microsoft.VSCode"

拡張子 txt を VSCodeに関連付ける

現在の紐づけ状況を確認

duti -x .csv
Numbers.app
/Applications/Numbers.app
com.apple.iWork.Numbers

紐づけを実施

csvファイルにVSCodeを紐づけれる例

duti -s 'com.microsoft.VSCode' .csv all

紐づけをされたか確認

duti -x .csv
Visual Studio Code.app
/Applications/Visual Studio Code.app
com.microsoft.VSCode

個人のdotfiles で設定を管理

#!/bin/bash

duti -s 'com.microsoft.VSCode' .tsv all
duti -s 'com.microsoft.VSCode' .csv all
duti -s 'com.microsoft.VSCode' .json all

Tips

紐づけの解除

duti -s '' .docx none

参考リンク

Discussion