![見出し画像](https://assets.st-note.com/production/uploads/images/138025232/rectangle_large_type_2_4f048c8970cb702810f5374c0a8bf48c.png?width=800)
フォルダー監視をKeyboard Maestroで行う(+Live Textでテキスト認識)
仕事柄、大量にスクショを撮ります。そこで面倒なのが、「適切なファイル名」を付けること。
発想を転換し、いまから9年前にファイル名をつけることをやめました。正確には時刻入りのタイムスタンプを付けることで一意(=ダブらないこと)のファイル名にします。
HazelとA Better Finder Rename(ABFR)の組み合わせで実装していました。
以前から、この作業をKeyboard Maestroに移行したいと考えつつペンディングになっていましたが、マナブさんからヒントをいただき、取り組みました。
Mac の Safari で、ページ全体のスクリーンショットを「写真」アプリに追加するマクロを作ってみました。
— マナブ (@MANABU0SEC) April 20, 2024
メニューバーから「PDF として書き出す」を実行し、予め作成した「~/Pictures/Screenshots」に保存すると発動します。
別途、Mac 純正「ショートカット」アプリのショートカットも必要です。 pic.twitter.com/TBF7sOR3Ub
HazelとA Better Finder Renameでは、ちょっとだけ処理時間があったのですが、それも解消。一瞬でリネームされます。
さらに、すでに「ss-」が付いているときには実行されないようになりました(ほかのフォルダーから画像を移動しただけでリネームされなくなった)。
マクロの全容
こちらがマクロの全容です。
[Folder Trigger]アクションを使って、指定したフォルダー内に項目(ファイル)が追加されることを監視
追加されたファイルが「.png」で終わっていて、かつ、「ss-」を含まないときに発動
追加されたファイルをいったんクリップボードに入れて、横幅のピクセルサイズを取得(その後、クリップボードはクリア)
「ss-横幅-タイムスタンプ.png」にリネーム
![](https://assets.st-note.com/img/1713688424997-HJKEonYbtc.png?width=800)
Folder Triggerを使って、指定したフォルダー内に項目が追加されることを監視
[Folder Trigger]を選択し、監視したいフォルダーを指定します。
![](https://assets.st-note.com/img/1713676211814-9hSP28pZ7S.png?width=800)
ダウンロードの完了を待つ
重いファイルの場合、ダウンロードが完了することを待つ必要がありますので、「ignore partial files」を選択します。
ファイル名を調査する
[Folder Trigger]を使うとき、「%TriggerValue%」で得られるのは、追加されたファイルのフルパスです。つまり、「/Users/takano/sw Dropbox/takano masahiro/Dropbox-shared/Pictures/Screenshot 2024-04-21 14.13.14.png」のように追加されたときのファイル名と、そのディレクトリが得られます。
このマクロでは次の2つを条件としました。
追加されたファイルが「.png」で終わっている:ends with png
「ss-」を含まない:does not contain ss-
![](https://assets.st-note.com/img/1713676290320-2VBoQ3Ibvt.png?width=800)
「ss-」はScreenshotの略。ハウスルールです。
画像の横幅を取得
[Read File]アクションでファイルの内容をクリップボードに入れ、[Get Image]アクションで横幅のピクセル数を取得し、変数「Local_imagewidth」に入れます。
[Delete Current System Clipboard]でクリップボードをクリアします。
![](https://assets.st-note.com/img/1713688237954-O6tFCbLThD.png?width=800)
ファイルをリネーム
[Rename File]アクションを使って、「ss-横幅-日付-時刻.png」になるようにファイルをリネームします。
ss-%Variable%Local_imagewidth%-%ICUDateTime%yyyyMMdd-HHmmss%.png
![](https://assets.st-note.com/img/1713734989725-sWlsEc9Lpm.png?width=800)
このマクロでは拡張子はPNGシバリですが、PNG以外を対象にする場合には[Split Path]アクションで拡張子を取得します。
![](https://assets.st-note.com/img/1713688621260-fyu5IMAufz.png?width=800)
画像をテキスト化
Keyboard MaestroにはOCR機能がありますが、精度的には今ひとつです。
![](https://assets.st-note.com/img/1713737319362-wFQw7ATfv9.png?width=800)
macOS Ventura(13)以降、日本語対応しているLive Text(テキスト認識表示)を使います。まずはショートカット.appで次のようなショートカットを作成します。
![](https://assets.st-note.com/img/1713737607104-RdPr6Fux3p.png?width=800)
Keyboard Maestroに用意されている[Execute Shortcut]アクションでショートカットを指定します。
![](https://assets.st-note.com/img/1713737637924-DFzDxLkpuG.png?width=800)
スクショからテキスト化することで内容に応じて、ファイル名を変更できるようになりました!
たとえば、オンラインセミナーでイベントごとにCommentScreenのQRコードのスクショを撮るのですが、「ほかのスクショとは区別したい」というニーズがありました。
![](https://assets.st-note.com/img/1713912176836-NsfTwrkO6g.png?width=800)
変数「Local__clipboard」が「QRCode」からスタートしていたら、「ss-CommentScreen-20240620.png」のようにファイル名を変更できます。
![](https://assets.st-note.com/img/1713912274232-KtKrZNvWKy.png?width=800)
完全版
次を加えています。
幅だけでなく、高さ、dpiを取得し、ファイル名にも入れる
OCRし、ファイル情報の[コメント]に入れる
(Finderに切り替え)リネーム後のファイルを選択
![](https://assets.st-note.com/img/1717928004408-JqhAKuE1h7.png?width=800)
音楽ファイルを「Music」に移動する
ダウンロードしたファイルの拡張子がmp3/m4a/flacだったら「ミュージック」フォルダーに移動するマクロです。
![](https://assets.st-note.com/img/1717928147729-RpmoYeo9pA.png?width=800)
ダウンロード
ここから先は
¥ 100
定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5