13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

North DetailAdvent Calendar 2019

Day 16

Automatorで重複ファイルを定期削除する

Last updated at Posted at 2019-12-15

2020/05/20 追記
本記事は、NorthDetail ブログにも投稿しています。
https://www.northdetail.co.jp/blog/422/

はじめに

こんにちは。iihara-tktsです。
私はファイル整理が苦手なので気づいたら重複ファイルがたくさん出来ているということが多々あったりします。
SSDが圧迫されてきたら削除はしているのですが、手動で削除している結構時間がかかったりします。
今回は、重複ファイルの削除をAutomatorを使って定期実行できるようにしたいと思います。

Automatorとは?

スクリーンショット 2019-12-12 19.17.33.png Macにデフォルトで入っている作業を自動化してくれるアプリです。 >Automator は、簡単に作業を効率化できるパーソナル自動化アシスタントです。 Automator を使えば、単純なドラッグアンドドロップ操作で「自動化レシピ」を作成し、実行できます。 自動化レシピは、単純なタスクも複雑なタスクも、必要なときに必要な場所で実行してくれます。

事前準備

今回、ファイルの重複検出にあたり、fdupesコマンドを使ってファイルの重複を検出します。
Macではデフォルトでfdupesコマンドは使用できないので、Homebrewを使用してインストールします。

$  brew install fdupes

Automatorを設定

それでは、定期的に重複ファイルを削除してくれるようにAutomatorを設定しようかと思います。
Automatorを開いてカレンダーアラームを選択します。
スクリーンショット 2019-12-13 15.41.30.png

シェルスクリプトを設定

削除する重複ファイルを削除するシェルスクリプトを設定します。
「シェルスクリプトを実行」を選択して、以下の画像のようにコードを入れます。

スクリーンショット 2019-12-13 20.46.59.png

Automator上でシェルスクリプトを実行しようとするとfdupesのパスが通っていないようなので以下の設定が必要になります。

export PATH=$PATH:/usr/local/bin

以下コマンドは事前準備で導入したfdupesのコマンドで重複ファイルで最初に検出されたものを除いて削除してくれます。

fdupes -frdN 重複ファイルを削除したいディレクトリのパス

また、今回はテスト用で作成したディレクトリ配下を指定していますが、重複ファイルでも中には削除していけないファイルもあるので、影響がないディレクトリで行いましょう。

カレンダーの設定

Automatorの変更を保存するとカレンダーイベントが追加されます。
スクリーンショット 2019-12-13 20.51.25.png

あとは、カレンダーから繰り返し設定を設定することで任意のタイミングで定期的に実行できるようになります。
スクリーンショット 2019-12-13 20.53.03.png

まとめ

今回は重複の定期削除を行いましたが、
Automatorでは他にも色々と設定することができます。
スクリプトを書かなくてもできることは多いのでMacを持っている方はぜひ触ってみてはいかがでしょうか。

13
9
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?