.DS_Store ファイルとは?

macOS の Finder(ファイル管理アプリ)がフォルダ内の設定情報を保存するために作成する隠しファイルです。「DS」は「Desktop Services」の略とされています。
macOS を使っていると、.DS_Store ファイルという隠しファイルが各フォルダに自動的に作成されているのに気づくことがあります。このファイルは Finder のメタデータ(アイコンの位置や表示モードなど)を保存するためのものですが、Windows や Linux とファイルを共有するときには不要で、時には煩わしい存在となることもあります。本記事では、この .DS_Store ファイルを一括削除する方法を詳しく説明します。

1. ターミナルを使った一括削除

手順:

  1. ターミナルを開く
    Finder で Applications > Utilities > Terminal を選択。

  2. 削除コマンドを実行
    以下のコマンドを入力して、現在のディレクトリ以下の .DS_Store を削除します。

    find . -name ".DS_Store" -delete
    
    • find コマンド:指定したディレクトリ以下を検索。
    • -name ".DS_Store":.DS_Store ファイルを検索対象に。
    • -delete:検索結果を削除。
  3. 指定ディレクトリの削除
    特定のフォルダ内のみ削除したい場合は、ディレクトリを指定します。例えば、Downloads フォルダ内の .DS_Store を削除するには:

    find ~/Downloads -name ".DS_Store" -delete
    

注意:

  • 必要でないフォルダに影響を与えないよう、コマンドを慎重に実行してください。
  • 削除は元に戻せないため、バックアップを取ることをおすすめします。

2. 自動生成を防ぐ方法

Finder が .DS_Store を作成しないように設定することも可能です。

手順:

  1. ターミナルで設定を変更
    以下のコマンドを入力して、ネットワークディスク上で .DS_Store が作成されるのを防ぎます。

    defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
    
  2. ローカルディスクの設定(任意)
    ローカルディスク上での .DS_Store 作成を防ぐには次のコマンドを使用します。

    defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
    
  3. Finder を再起動
    設定変更を反映させるために Finder を再起動します。

    killall Finder
    

注意:

  • これらの設定は macOS の一部機能に影響を与える可能性があるため、慎重に適用してください。
  • 必要に応じて設定を元に戻すには truefalse に変更して再実行します。

3. スクリプトで一括自動化

何度も手動でコマンドを実行するのが面倒な場合、スクリプトを作成して自動化する方法があります。

スクリプト例:

以下のような Bash スクリプトを作成し、必要に応じて実行できます。

#!/bin/bash

# 削除対象のディレクトリを指定
TARGET_DIR="$1"

if [ -z "$TARGET_DIR" ]; then
  echo "使用法: $0 <ディレクトリパス>"
  exit 1
fi

# .DS_Store の一括削除
find "$TARGET_DIR" -name ".DS_Store" -delete

echo "$TARGET_DIR 以下の .DS_Store を削除しました。"

スクリプトの使用方法:

  1. 上記のコードを delete_dsstore.sh という名前で保存します。
  2. ターミナルで実行権限を付与します。
    chmod +x delete_dsstore.sh
    
  3. スクリプトを実行します。
    ./delete_dsstore.sh ~/Documents
    

まとめ

macOS の .DS_Store ファイルは便利な場合もありますが、不要なケースでは一括削除や自動生成を防ぐ設定を行うことで快適な作業環境を保つことができます。今回紹介した方法を活用して、ストレスの少ないファイル管理を実現してください!