MacのFinderコメントを活用する

Macのmdfindを活用するの続編として、Finderコメントに特化して、ゲット・セット・検索するシェルスクリプトを書いてみた。

Finderコメントを表示する getcomment.sh:

#!/bin/bash

path=`realpath "$1"`
osascript -e "tell application \"Finder\" to get comment of (POSIX file \"$path\" as alias)"

Finderコメントを設定する setcomment.sh:

#!/bin/bash

path=`realpath "$1"`
osascript -e "tell application \"Finder\" to set comment of (POSIX file \"$path\" as alias) to \"$2\""

Finderコメントを検索する findcomment.sh(ついでにPDFのタイトルが入っていることが多い kMDItemTitle も検索)

#!/bin/bash

mdfind "kMDItemFinderComment == \"$1\"cd || kMDItemTitle == \"$1\"cd"

部分一致なら findcomment.sh '*hoge*' のように、前か後か両方に * を付ける。

[追記] File Metadata Query Expression Syntax によれば ==[cd] でcase insensitive、insensitive to diacritical marksな検索ができるはずだがうまくいかない。式の最後に cd を持っていくといいようだ。

[追記] ファイルシステムをまたいで mv すると mdls で表示されるメタ情報が一時的にアクセスできなくなるようだが、mdimport ファイル名 とすると直る。あるいはPreviewで開くだけでも直るようだ。