はじめに
会社のファイルサーバーでの検索(finderの検索)が遅い、ないし場合によっては全く検索が動作しない、ということが稀にあり、非常に困っているという話を入社後に何度か聞いた。
のだけど、いざ自分がその場面に出くわすことがなくて、先日やっと体験できた。
検索しているのかしていないのかすらわからないので、延々と待ってしまう…。
じゃぁ、と思ってfindコマンドを使ってみたらあっさりファイルが見つかった*1。
そしたら、これを利用してJXAアプリケーションにしてやればいいんじゃね、という話です。
できたもの
GitHubにパブリックリポジトリとしてアップしました。
苦労したところ
ベースはPerplexityくんに書いてもらったものの、ダイアログのGUI周りのエラーが解消できなかった。
最初に渡したプロンプトは以下の通り。

どこでエラーになるかを調べるために、debuggerステートメント*2を利用して、エラー箇所を特定した。
なるほど、GUIダイアログがおかしいんだな、ということで、AppleScriptでのコードサンプルを示したところ、問題ない動作になりました。
参考
- 今回は利用しなかったけど、zshではわざわざ
findコマンドを使わなくてもいいらしい
zshがあればfindコマンドは(ほぼ)要らなくなるかもしれない話 #Zsh - Qiita - 2回ほどPerplexityくんに修正してもらったけど、GUIのダイアログがどうしてもうまく書けず、AppleScriptの参考例を示したところうまくいった
OSAX/標準機能追加/choose folder
AppleScriptとJXAはコードの構成がとてもよく似ているとはいえ、それで正解を出してくるんだからすごいね
さいごに
個人的には、JXAによるダイアログ生成、リストをダブルクリックしてそのファイルを開く、といった処理がとても勉強になった。
AppleScriptでどうやって書くんだよ〜! という世界がほぼ終焉を迎えたように思う。
*1:findコマンドについてはこちらなど参照:ファイルなどを検索する!findコマンドの詳細まとめ【Linuxコマンド集】
*2:JXAのデバッガーについてはこちら:JXAのデバッグにSafariのWEBインスペクタが使える - DTPab