Mac でスクリーンキャプチャを撮ると、指定したディレクトリ (デフォルトではデスクトップ) に日付や時間を含んだファイル名で保存されます。ただ、放っておくとどんどん溜まっていって目的のファイルを見つけにくくなります。今回は、スクリーンキャプチャを取得した際に、自動で月別または日別のディレクトリに分けて保存されるようにしてみたという話です。

Mac のスクリーンキャプチャを整理するのが面倒だという方にはぜひ試していただきたい内容です。

目次

概要

何もせずにスクリーンキャプチャを撮り続けると、下記のような形で保存先のディレクトリ直下に画像ファイルが大量にあるという状態になります。

$ tree .
/your/path/
├── sc__2020-01-01_132830.png
├── sc__2020-01-22_222346.png
├── sc__2020-02-11_163716.png
├── sc__2020-02-16_140132.png
├── sc__2020-02-16_190945.png
├── sc__2020-02-16_191009.png
├── sc__2020-02-16_191703.png
├── sc__2020-02-16_192223.png
├── sc__2020-02-22_131052.png
├── sc__2020-02-22_134907.png
├── sc__2020-03-01_101256.png
├── sc__2020-03-01_195937.png
├── sc__2020-03-01_200003.png
├── sc__2020-03-01_200033.png
├── sc__2020-03-01_214710.png
├── sc__2020-03-03_183331.png
├── sc__2020-03-03_183737.png
├── sc__2020-03-05_213054.png
├── sc__2020-03-05_213957.png
├── sc__2020-03-07_130956.png
├── sc__2020-03-07_151354.png
├── sc__2020-03-07_151433.png
├── sc__2020-03-07_151650.png
├── sc__2020-03-07_151715.png
├── sc__2020-03-07_151746.png
├── sc__2020-03-07_151749.png
├── sc__2020-03-07_152524.png
├── sc__2020-03-07_152639.png
├── sc__2020-03-07_153639.png
└── sc__2020-03-07_153639_2.png

これを、自動で次のような形で振り分けるようにするのが今回の概要です。

$ tree .
/your/path/
└── 2020
    ├── 01
    │   ├── sc__2020-01-01_132830.png
    │   └── sc__2020-01-22_222346.png
    ├── 02
    │   ├── sc__2020-02-11_163716.png
    │   ├── sc__2020-02-16_140132.png
    │   ├── sc__2020-02-16_190945.png
    │   ├── sc__2020-02-16_191009.png
    │   ├── sc__2020-02-16_191703.png
    │   ├── sc__2020-02-16_192223.png
    │   ├── sc__2020-02-22_131052.png
    │   └── sc__2020-02-22_134907.png
    └── 03
        ├── sc__2020-03-01_101256.png
        ├── sc__2020-03-01_195937.png
        ├── sc__2020-03-01_200003.png
        ├── sc__2020-03-01_200033.png
        ├── sc__2020-03-01_214710.png
        ├── sc__2020-03-03_183331.png
        ├── sc__2020-03-03_183737.png
        ├── sc__2020-03-05_213054.png
        ├── sc__2020-03-05_213957.png
        ├── sc__2020-03-07_130956.png
        ├── sc__2020-03-07_151354.png
        ├── sc__2020-03-07_151433.png
        ├── sc__2020-03-07_151650.png
        ├── sc__2020-03-07_151715.png
        ├── sc__2020-03-07_151746.png
        ├── sc__2020-03-07_151749.png
        ├── sc__2020-03-07_152524.png
        ├── sc__2020-03-07_152639.png
        ├── sc__2020-03-07_153639.png
        └── sc__2020-03-07_153639_2.png

ちなみに、 Mac でスクリーンキャプチャを撮ると自動で付与されるファイル名には半角スペース やピリオド . が含まれるので、それが気持ち悪いというかたは過去に書いたこちらの記事も参考にしてみてください。

ちなみに今回紹介する方法では、上の記事で書いた処理も網羅しています。

やること

前回 紹介した内容と同じで、 Mac の Automator を使用して自動振り分けを実現します。前回と違うのは、 Automator で実行するスクリプト部分のみです。

スクリプトの実装

スクリプトは前回と同様に Python で記述しました。

長いですが、使用する際に書き換えるのは冒頭のこの部分です。

SC_DIR = '/Users/hoge/Pictures/_ScreenCaptureTmp'
SC_OUT_DIR = '/Users/hoge/Pictures/ScreenCaptures
DIR_TYPE = 'MONTH'  # "DAY" or "MONTH"
  • SC_DIR
    スクリーンキャプチャを撮った際に画像ファイルが保存されるディレクトリを指定してください。デフォルトのままでデスクトップの場合は /Users/hoge/Desktop となります。 最後に / は不要です。

  • SC_OUT_DIR
    月別または日別に振り分けられた後の画像ファイルを保存するディレクトリを指定します。

  • DIR_TYPE
    月別に振り分ける場合は MONTH 、日別に振り分ける場合は DAY を指定します。それ以外の文字列を指定した場合は MONTH を指定したものとして処理されます。

SC_DIRSC_OUT_DIR は同じディレクトリを指定することも可能です。

スクリーンキャプチャの設定で保存時の拡張子を変更している場合は FILE_TYPE の値を適宜変更してください。

前回と同様にファイル名に含まれる半角スペースとピリオドはそれぞれ置換、削除するようになっています。また、今回はそれに加えて丸括弧 () () も置換、削除するようにしています。 マルチディスプレイで作業しているときに画面全体のスクリーンキャプチャ (⌘ + Shift + 3) を撮ると、ファイル名の後ろに (1) のような形で番号がつきます。これも気持ち悪いので、 (N)_N に置換するようにしています。

これを適当な場所に保存します。今回は /Users/hoge/Projects/system/ に保存するとします。

Automator の設定

Automator では次の構成を作成します。

  1. フォルダアクションで、スクリーンキャプチャの保存先ディレクトリ (SC_DIR で指定したディレクトリ) を指定。
  2. シェルスクリプトで、先ほど保存したスクリプトを実行するコマンドを記述。
  3. 処理終了通知の設定。

設定が完了するとこのような形になります。

Automator setting

あとは実際にスクリーンキャプチャを撮ってみて、自動で振り分けれることを確かめます。

まとめ

Mac で撮ったスクリーンキャプチャを自動で月別または日別のディレクトリに振り分けるようにしてみた話でした。普段から不要になったスクリーンキャプチャを削除するなどしていればあまり恩恵は無いかもしれませんが、私のようにひたすら溜まっていくだけだという方はぜひ試してみてはどうでしょうか。


以上、よっしー (michimani) でした。

Share to ...

0

Follow on Feedly


comments powered by Disqus