Q_Q-Box Logo Q_Q-Box Blog Q_Q-Box Home →
テック & ツール

MacでZIP圧縮すると .DS_Store が入る理由と削除方法

Q_Q

Macで資料をZIP圧縮して、Windowsを使っているクライアントに送付したとき、こんなことを言われた経験はありませんか?

「いただいたデータの中に、.DS_Store という謎のファイルが入っています。これって怪しいファイルですか?開けません」

結論から言うと、これは不正なファイルではありません。しかし、「Macユーザー特有の配慮不足」と受け取られてしまう可能性がある、厄介なファイルです。

また、似たような不要ファイルとして __MACOSX というフォルダも生成されることがありますが、これもWindowsユーザーにとってはノイズでしかありません。

この記事では、なぜこのファイルが勝手に作られるのか、技術的な削除方法、そして再発を防ぐための運用ルールについて解説します。

.DS_Store の正体とは?

.DS_Store(Desktop Services Store)は、macOSのFinderが自動的に生成する隠しファイルです。

このファイルには、フォルダごとの表示設定が保存されています。

  • アイコンの並び順
  • ウィンドウのサイズ
  • 背景の設定

Macを使っているときは、Finderがこの設定を読み取ってくれるので便利ですが、隠しファイルなので普段は見えません。

しかし、Windowsなどの他のOSでは隠しファイルとして扱われないことが多く、ZIPを解凍した瞬間に「怪しく不要なファイル」として可視化されてしまうのです。

手動で削除する方法(ターミナル)

Mac標準の機能を使い、完全にこれらの不要ファイルを消してから圧縮するには、黒い画面(ターミナル)を使うのが最も確実です。

方法1: zipコマンドの除外オプションを使う

リソースフォーク(__MACOSX)も同時に除去するために -X オプションも併用するのがベストプラクティスです。

zip -r -X output.zip target_folder -x "*.DS_Store"
  • -r: 再帰的にディレクトリを圧縮
  • -X: リソースフォーク(__MACOSXなど)を除外
  • -x "*.DS_Store": .DS_Storeファイルを除外

方法2: dot_clean コマンドの真実

よく「dot_clean で .DS_Store を消せる」と紹介されますが、正確にはこれは「AppleDoubleファイル(._)をオリジナルファイルにマージ(統合)する」ためのコマンドです。

dot_clean -m target_folder

これにより ._ファイル名 は消えますが、.DS_Store 自体が(Finderが開いている限り)即座に再生成されることもあります。あくまで「属性情報の整理」として使うのが正解です。

方法3: findコマンドで一括削除(推奨)

確実に消し去りたい場合は find コマンドが最強です。

find . -name ".DS_Store" -delete

※誤って必要なファイルを消さないよう、実行ディレクトリには十分注意してください。

確認方法:本当に消えたかチェックする

圧縮後のZIPの中身をリスト表示して確認します。

zipinfo output.zip | grep .DS_Store

何も表示されなければ成功です。

【比較】手動作業 vs 専用アプリ

毎回コマンドを打つのと、専用アプリを使うのでどれくらい差が出るのか、実際の作業フローで比較してみました。

工程 手動(ターミナル) Pon!とZip!
1. 準備 ターミナルを起動し、cdコマンドで移動
(約30秒)
アプリを起動
(2秒)
2. 実行 コマンド入力(zip -r -X...)
(約1分)
D&Dで放り込むだけ
(3秒)
3. 確認 zipinfoで中身を目視確認
(約1分)
自動で完了
(0秒)
合計時間 約3分 / 回 約5秒 / 回

手動コストの年間試算

  • 1日1回送信 × 20営業日 = 月間 60分 の無駄
  • 時給3,000円換算で、年間 約36,000円 の損失

何より、コマンドの打ち間違いによる「再送」のリスクと精神的ストレスがゼロになるのが最大のメリットです。

「もっと直感的に、ドラッグ&ドロップだけでこの手間をゼロにしたい」
そう思うのが、効率化を求めるエンジニアやクリエイターとして自然な思考です。

【推奨】専用アプリで自動削除する

この「Macの余計なファイル問題」を解決するために開発されたのが、「Pon!とZip!」です。

まだ手動で削除していますか?

.DS_Store も __MACOSX も、
このアプリならドラッグ&ドロップで一発削除。
Windowsへ送るその前に、「Pon!とZip!」

macOS 15+ / 買い切り300円

よくある質問 (FAQ)

Q. .DS_Storeの生成自体を無効化できませんか?

A. ネットワークドライブに関しては以下のコマンドで抑制可能ですが、ローカルフォルダでの完全な無効化は推奨されていません

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

MacのFinder機能(アイコン位置の記憶など)が動作しなくなるため、生成自体は許容し、「共有時に削除する」運用が現実的です。

Q. Gitの管理対象になって困っています。

A. プロジェクトのルートにある .gitignore ファイルに .DS_Store を記述してください。また、既にコミットされてしまった場合は git rm --cached .DS_Store でインデックスから削除する必要があります。

まとめ

.DS_Store はMacにとっては大切な設定ファイルですが、Windowsユーザーにとっては怪しく不要なファイルです。

ビジネスシーンでのデータ受け渡しでは、相手の環境を考慮した「クリーンなデータ」を作ることが信頼につながります。

難しいコマンド操作で時間を浪費するよりも、専用ツールを使ってスマートに解決しましょう。