Macで不要なファイルを自動で削除する方法2選!【Automator・Cron】

パソコンで何かしらの作業していると自然と出てくるのがファイルたちですよね。その時には使うんだけど、使うのはその時だけで後はゴミ同然になってしまうやつです。これらを手動で削除するのもいいんだけど、そんな几帳面にやるのは面倒だからできれば自動で行いたい。

そこで今回はこの不要なファイルの削除を自動で行うっていうことをやっていきたい。いくつか方法はあると思うけどこの記事ではAutomatorとプログラムを使った方法を見ていくよ。

不要なファイルを自動で削除したいなら参考になるかもしれない。やっていこう。

Automatorを使って不要ファイルの削除をする

Automatorってこういうアイコンのやつなんだけど使ったことありますかね。Macに最初から入っているから存在は知っているけど、使ったことはない!っていう人もいるかもしれない。Automatorって何なん?っていう場合にはまずはこっちでどんなものか見ておいておくれ。

そういえば秋に使えるようになるであろうMacの新OSのMontreyでは、Automatorがショートカットになるみたいですね。ショートカットの方が使いやすそうだからちょっとありがたいかも知れない。

でAutomatorでやることなんだけど、大まかに以下の2つ。

  1. 不要なファイルを削除するアプリケーションを作る
  2. カレンダーで定期的に自動でアプリケーションを実行する

この2段階構成でやっていきたいと思うんだけど、カレンダーで定期的にアプリケーションを実行っていうのはいいとして、不要なファイルっていう定義がちょっと面倒ですね。まあいいややっていこう。

不要なファイルを削除するアプリケーションを作る

まずは不要なファイルを削除するアプリケーションを作ろうと思うから、Automatorを起動したらアプリケーションを選択しよう。不要なファイルっていうのは人それぞれで違うだろうけど、ここではダウンロードフォルダとデスクトップフォルダにあるjpegまたはPNGの拡張子のファイルっていう設定でやる。

アクションを入れていくんだけど、指定されたFinder項目を取得Finder項目にフォルダの内容を取得っていうやつを追加する。

指定されたFinder項目を取得に削除したいフォルダを選択して、フォルダの内容を取得でそれらのファイルを取得する。ただこれだと絞り込みが甘すぎるからFinder項目にフィルタを適用っていうやつを入れて、絞り込んでいこう。

後はFinder項目をゴミ箱に入れるでゴミ箱にシュートを決めるだけだ。今回はダウンロードフォルダとデスクトップフォルダにあるjpegまたはPNGの拡張子のファイルをゴミ箱に入れるっていうものだから、実行するとそれらがゴミ箱に入るね。実行は右上のボタンから行うことができる。

実行してうまくいったらcommsnd + sで保存。

今回は拡張子でファイルを絞り込んだけど、これは名前や作成日でもフィルタを作ることができる。

作成日が○日前とかもできるから、こういうのは結構便利かも知れない。

ここまでで不要なファイルを絞り込んで削除するっていうのはできたから、次はこれを定期的に実行するっていう設定をやっていこう。ただその前にFinderから作成したアプリケーションを実行確認しておきましょ。

アクセスを許可してやるとゴミ箱にファイルが入るんじゃないかと思います。

カレンダーで定期的に実行するようにする

カレンダーにはイベントを設定することができますよね。そのイベントにアプリケーションを開くように設定することができるので、一定間隔で定期的にさっき作った不要なファイルを削除するやつを実行していきたい。

カレンダーを開いたら適当な日付でイベントを作成しよう。イベント名は不要ファイル削除とでもして、繰り返しは毎月にしておく。

通知の部分をクリックしてカスタムを選択しよう。

作成したアプリを指定するには、選択肢のその他から選ぶことができる。これで毎月指定した日付で不要なファイルを削除するアプリケーションが動くようになるはず。ちなみにカレンダーの時刻はMacの矢印キーでいじることができる。

このカレンダー通知はMacが起動している時じゃないと実行されないから、そこら辺はまあうんっていう感じですね。

アプリケーションとしても使えるよ

Automatorでアプリケーションとして作ったから、例えばDockにでも置いておいてクリックして不要なものを削除するっていう使い方もできる。

クリックすれば実行することができるのは便利で、こういうのを色々作っておけばいろんな作業を一発ですることができる。

Cronで削除プログラムを定期実行する

Automatorとカレンダー組み合わせるのもいいけど、なんか色々と面倒。もはやプログラム作ってやってしまいたい・・・っていう人もいるでしょう。そんな時にはcronで使ってやりますかね。CronってLinuxって感じのイメージだけどMacはUnixベースだからcron使える。

やり方としては、不要なファイルを削除するプログラムを書いてそのファイルをcronで指定してやればOKっていう感じですね。ただ、これもMacが起動していないと動かないからそこはまあ注意。やっていこう。

不要なファイルを削除するプログラムを作る

まずは不要なファイルを削除するプログラムを書こう。別に言語はなんでもいいけどPythonでいいか。デスクトップにある拡張子がpngのファイルを削除するプログラム。

import glob
import os

files = glob.glob("/Users/U/Desktop/*.png")
for file in files:
    if os.path.isfile(file):
        os.remove(file)
        print(file + "を削除しました。")

これを実行するとデスクトップ内の拡張子がpngのファイルが削除されるんだけど、定期的に実行するためにcronを使おう。ターミナルを起動してcrontab -eで設定する。

これでさっき作ったファイルを実行するように設定するんだけど、毎日10時に実行するっていう指定ならこんな感じだろうか。

この一見意味の分からない指定で実行するようになるんだけど、設定はこんな感じになる。

  • (分)(時)(日)(月)(曜日) 実行するコマンドのパス

ワイルドカード(*)を使うことができるから毎日とかいう指定ができる。調べてみると参考になる記事はあると思うから、自分のやりたい時刻に実行できるように設定してみるといいですね。

# 毎日24:00
0 0 * * *

# 毎時0分
0 * * * *

# 毎週月曜7:00
0 7 * * 1

# 毎週金曜22:00
0 22 * * 5

# 毎月1日の7:00
0 7 1 * *

cronって普段使いはあんまりしないと思うけど、こういうことをやろうと思えばできるのは便利ですよね。定期的に何かやってほしいっていう時にプログラム書いて実行するっていう時に使える。

まとめ

Macでファイルを自動削除するっていうことをやってみたけど、どうだろうか。今回は以下の方法を使ってやってみた。

  • Automator + カレンダー
  • Cron + プログラム

ただぶっちゃけちょっと面倒だなあ・・・っていう感じしますよね。自動で実行するっていうよりもAutomatorでアプリケーション作ってそれを好きな時間にクリックして実行するっていう方がやりやすいかもしれんね。

おすすめの記事