1
0

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.

日本語プログラミング言語「なでしこ」Advent Calendar 2021

Day 12

なでしこでmacOSの.DS_Storeを一括削除する

Last updated at Posted at 2021-12-11

macOSユーザーが「rm」コマンドでもっとも削除しているファイル、それが「.DS_Store」と言っても過言ではありません。

.DS_Storeとは、macOSのフォルダでアイコンの位置や表示設定などのメタ情報を保存している隠しファイルです。

しかし、うっかりすると、Windowsユーザーにファイルを送る時に、フォルダごと圧縮したり、Gitで「git add フォルダ」すると、自動的に含まれてしまっていたりするので、「あ、この人、macユーザーなんだ」などと思われてしまうのです。

そこで、なでしこ3(Node.js版)の出番です!

数日前に、GitHubからなでしこ3をインストールする方法を書きましたが、パッケージマネージャーを使うともっと簡単にインストールできます。

なでしこ3(Node.js)をmacOSにインストール

まずは、ターミナル.appを開いて、macOSにHomebrewをインストールします。

続いて、nvmとNode.jsをインストールします。

$ brew install nvm
$ nvm install node

そして、なでしこをインストールします。

$ npm -g install nadesiko3

なでしこ3で.DS_Storeを探して削除するプログラム

そして、なでしこのプログラムを作ります。以下は、カレントディレクトリ以下にある、.DS_Storeを全部探して削除するプログラムです。以下のプログラムを「rm_dsstore.nako3」という名前で保存します。

rm_dsstore.nako3
#!/usr/bin/env cnako3
PWD=作業フォルダ取得
「{PWD}/*.DS_Store」の全ファイル列挙
それを反復
  エラー監視
    対象をファイル削除。
    「[削除] {対象}」を表示。
  エラーならば
    「[失敗] {対象}」を表示。
  ここまで。
ここまで。

そして、実行権限を追加し、パスの通ったディレクトリにこのファイルをコピーしておきます。

$ chmod +x rm_dsstore.nako3

以上で作業完了です。

.DS_Storeを削除したいディレクトリで以下のように実行すれば、そのフォルダ以下にある.DS_Storeが全部削除されます。

$ rm_dsstore.nako3

なでしこを使わない場合

実際、なでしこを使わなくても、以下のコマンドを一発叩けば良いだけなのですが、やはり、なでしこ3で削除したいですよね?

$ find . -name '.DS_Store' -type f -ls -delete

Windowsのthumbs.dbも同じ

ところで、macOSの.DS_Storeに相当するのが、Windowsの「thumbs.db」でしょうか。上記なでしこのプログラムの「*.DS_Store」を「thumbs.db」に置き換えれば良いだけなので、簡単に対応可能です。

検索したら...

実はマイナビ連載でも似たような記事を書いていたようです。数行のプログラムは何度も頻繁に作られるのです。

1
0
0

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?