ZIPの中に「__MACOSX」フォルダが!削除していい?MacとWindowsの違い

パソコン・IT

先日、Webサイトの制作データをZIPファイルで受け取った。

中身を確認していると、見慣れないフォルダがある。

「__MACOSX」

名前からしてMacに関係ありそうだが、Webサイトで使うHTMLや画像が入っているわけでもなさそう。

こういうものを見ると、つい気になってしまう。

調べてみると、MacとWindowsのちょっとした違いによって出てくるフォルダだった。

結論:普通のWeb制作データなら「__MACOSX」は消して大丈夫

最初に結論を書く。

WindowsでHTML、CSS、画像、Office文書などを利用するだけなら、通常「__MACOSX」フォルダは不要。削除しても本体のファイルには影響しない。

ただし、Mac特有のメタデータを利用するファイルまで扱う場合は別。元のZIPは残しておいた方が安心だ。

なお、フォルダ名の先頭はアンダースコアが2個。__MACOSXが正しい表記だ。

「__MACOSX」って何のためのフォルダ?

Macのファイルには、普段目にする中身とは別に、追加の情報が付いていることがある。

例えば、ファイルの拡張属性や、古くからMacで使われてきた「リソースフォーク」と呼ばれる情報などだ。

Macの標準機能などでZIPを作ると、こうした付加情報が__MACOSXフォルダにまとめて保存されることがある。

つまり、勝手に紛れ込んだウイルスというわけではない。Macがファイルの情報を持ち運ぶための仕組みの一つだ。

中には、元のファイル名の前に「._」を付けたファイルが入っていることもある。

イメージとしてはこんな構造だ。

website.zip
├── website/
│   ├── index.html
│   ├── style.css
│   └── image.png
└── __MACOSX/
    └── website/
        ├── ._index.html
        ├── ._style.css
        └── ._image.png

これは説明用の例で、実際のZIPに必ずこの構造ができるわけではない。

上にあるindex.htmlなどが本体で、._index.htmlなどはMac用の追加情報を保存するファイル、という理解でおおむね問題ない。

なぜWindowsだと目立つのか

Macの側では、こうした付加情報は普通の作業中には意識されにくい。

ところがWindowsでZIPの中身を表示・展開すると、__MACOSXが普通のフォルダとして見えることがある。

Macを使っている人には気にならないものが、Windowsで受け取った人には「何だこれ?」となるわけだ。

今回も、これが入っていたので「Macで圧縮されたZIPなのかな」と思った。

ただし、このフォルダがあるだけで、作業した人のパソコンがMacだったと断定できるわけではない。 途中でMacを経由していた可能性もあるし、圧縮に使ったツールによって挙動も違う。

削除するときはどうすればいい?

Windowsで通常の文書やWeb用ファイルを使うなら、難しい操作は不要だ。

  1. ZIPを普通に展開する。
  2. HTMLや画像など、必要なファイルがそろっていることを確認する。
  3. 不要な__MACOSXフォルダを削除する。

これで十分。Mac専用の追加情報が要らないなら、わざわざ専用ソフトを使う必要はない。

ただ、受け取ったZIPが重要な原本なら、念のためZIP自体は残しておくといい。特に古いMacのファイルや、Mac固有の属性を必要とするデータでは、その追加情報に意味があることもある。

「.DS_Store」も似たようなもの?

Macから受け取ったデータには、ほかにも.DS_Storeというファイルが入っていることがある。

これはFinderでのフォルダの表示方法などを記録するファイルだ。

__MACOSXと同じものではないが、WindowsでWebサイトの素材や一般的な書類を扱う分には、普通は必要ない。

こうしたファイルが見えたからといって、データが壊れているわけではないので慌てる必要はない。

最近はWindowsもいろいろ便利になったけど

私は普段、MacやLinuxでの作業もする。

昔に比べると、今のWindowsはUnix系の環境に近いこともできるようになり、開発作業の違いをあまり意識しなくて済む場面が増えた。

そのせいか、OSごとの差に油断することもある。

実は今回、同じタイミングでWindows向けバッチファイルの文字コードについても考える機会があった。

日本語を含むバッチファイルは、文字コードや実行環境の違いで、思ったように動かないことがある。chcp 65001のような指定も、その文脈で出てくる。

ただし、バッチファイルの文字コードの問題と、ZIP内の__MACOSXフォルダは別の話だ。フォルダがあるから文字化けする、ということではない。

今回たまたま、WindowsとMacの「違い」を続けて意識することになったというだけだ。

まとめ

ZIPの中に__MACOSXがあったら、まずはMac由来の付加情報を保存したフォルダだと思っておけばいい。

  • ウイルスやZIPの破損を意味するものではない。
  • Windowsで通常のWeb制作データや文書を使うだけなら、基本的に削除して構わない。
  • 古いMac向けデータなどでは、必要な情報が入っている場合もあるので原本は残す。
  • このフォルダの存在だけで、相手がMacを使ったと断定はできない。

大きなトラブルではないけれど、こういう小さな違いって、知っている人には当たり前で、知らない人には謎なんだよね。

そして、できれば余計なフォルダは最初から入れないでほしい、というのがWindows側の正直な感想だったりする(笑)。